有很长一段时间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

撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/24792271




版权声明:本文博客原创文章,博客,未经同意,不得转载。

04-15 04:03