摘要
就像 FAT 有文件属性(文档,系统文件,隐藏)一样,GNU/Linux 文件系统也有它自己的文件属性,不过它们有些区别。为了使本书内容完整,我们将在这里简要介绍它们,不过它们很少被用到。但是如果您真的需要安全的系统,就请继续读下去吧。
这里有两个对文件属性进行操作的命令: lsattr(1) 和 chattr(1)。您可能会猜到 lsattr 用来“列出”属性,而 chattr 用来“更改”它们。只有目录和普通文件可以被赋予这些属性。以下是可以被赋予的属性:
A (“没有访问时间”): 如果一个文件或目录被赋予了这种属性,无论它是被读或写中的哪种方式访问,它的上次访问时间都不会被更新。举例来说,这对于经常被读访问的文件或目录是非常有用的。尤其因为这是信息节点被只读打开时唯一更改的参数。
a(“只能附加”):如果一个文件具有这种属性并且被以写入的方式打开,唯一可能对它进行的操作就是增加数据到以前存入的内容之后。对于一个目录,这意味着您只能增加文件而不能对现存文件改名或删除。只有 root 可以设定或清除这种属性。
d (“不 dump”):dump (8) 是 UNIX® 的标准备份工具。它 dump 任何 /etc/fstab 中 dump 计数器为1的文件系统(请参考 第 8 章 文件系统和挂载点)。和别的属性不同的是,如果一个文件或目录被赋予了这种属性,在 dump 执行过程中它将不被处理。注意对于目录来说,这也包括它所有的子目录和其中包含的文件。
i (“不可变更”):一个被赋予这种属性的文件或目录是完全不能被修改的:它不能被重命名,指向它链接不能被建立[24]而且它不能被删除。只有 root 可以设置或清除这种属性。注意它也会禁止对访问时间的改动。因此当 i 属性被设置了以后,您就不用再设置 A 了。
比如您可能会为了防止恶性突发事件而给基本系统文件设置 i 属性。还有,看一下 man 里关于 A 属性的介绍:这可以减少对磁盘的操作,特别是可以为笔记本电脑节省电池耗电。