有很长一段时间ubuntu人,很多人会突然提示:磁盘空间不足1G。 然后很长一段时间分析。。最近遇到的类别似问题。记录,如下面:
一个:.xsession-errors.old
能够在终端看到主用户文件夹下有这么一个隐藏文件。我看到的时候 大小有22G左右!网上查了,说这个文件是由于我们本机与server之间通信错误的记录集合,会不断的添加记录。
有人提议能够写个脚本定期删除这个文件。这样太麻烦了,能够使用例如以下命令解决这一问题:
rm .xsession-errors.old
touch .xsession-errors.old
sudo chattr +i .xsession-errors.old
删除掉。然后再新建一个同名文件,改动此文件为不可写入!
二:chattr命令学习
之前都没怎么用过这个chattr命令,后来才发现这个命令这么实用!
系统中有的时候即使使用root权限也无法改动某个文件,非常有可能是被用chattr命令锁定了,这个命令的一些功能是由linux内核提供支持。使用这个命令能够锁死系统的一些特殊文件,
提高安全性。
chattr命令不能保护/、/dev、/tmp、/var文件夹。
lsattr命令是显示属性。
chattr命令设置的文件属性。
一般的操作基本都是 chmod chown 这个两个命令来改动读写权限。拥有者,chattr算是更加底层的属性控制命令了!
chattr命令的使用方法:
chattr [ -RVf ] [ -v version ] [ mode ] files…
最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性,例如以下:
+ :在原有參数设定基础上,追加參数。
- :在原有參数设定基础上,移除參数。
= :更新为指定參数设定。
A:文件或文件夹的 atime (access time)不可被改动(modified), 能够有效预防比如手提电脑磁盘I/O错误的发生。
S:硬盘I/O同步选项,功能相似sync。
a:即append,设定该參数后,仅仅能向文件里加入数据,而不能删除。多用于server日志文件安全,仅仅有root才干设定这个属性。
c:即compresse。设定文件是否经压缩后再存储。读取时须要经过自己主动解压操作。
d:即no dump,设定文件不能成为dump程序的备份目标。
i:设定文件不能被删除、改名、设定链接关系,同一时候不能写入或新增内容。
i參数对于文件 系统的安全设置有非常大帮助。
j:即journal,设定此參数使得当通过mount參数:data=ordered 或者 data=writeback 挂 载的文件系统。文件在写入时会先被记录(在journal中)。假设filesystem被设定參数为 data=journal。则该參数自己主动失效。 s:保密性地删除文件或文件夹,即硬盘空间被所有收回。 u:与s相反,当设定为u时,数据内容事实上还存在磁盘中,能够用于undeletion。 各參数选项中经常使用到的是a和i。
a选项强制仅仅可加入不可删除。多用于日志系统的安全设定。而i是更为严格的安全设定,仅仅有superuser (root) 或具有CAP_LINUX_IMMUTABLE处理能力(标识)的进程能够施加该选项。
以上面的.xsession-errors.old为例:
sudo chattr +i .xsession-errors.old
然后lsattr:
jscese@jscese-H61M-S2P:~$ lsattr .xsession-errors.old
----i--------e-- .xsession-errors.old
版权声明:本文博客原创文章,博客,未经同意,不得转载。