使用EXT2文件属性
前日有一篇关于ACL的文章介绍介绍了ACL在EXT3系统上的一点东西,这篇介绍一个稍老的ext2的特征--ext2文件属性,初步的使用这些属性也可以一定程度上提高文件系统的安全性,而且十分便捷。
EXT2文件系统的属性(attribute)经常被忽略,甚至不为人知,因为比他高级的多的保护系统的方式多的去了,ACL,SELinux……,让我们管理员似乎羞于提及这个Attribute来。EXT2文件系统属性就是ext2文件系统支持一些针对文件和目录的额外标记,或叫作属性(attribute)。
EXT2文件系统的属性(attribute)经常被忽略,甚至不为人知,因为比他高级的多的保护系统的方式多的去了,ACL,SELinux……,让我们管理员似乎羞于提及这个Attribute来。EXT2文件系统属性就是ext2文件系统支持一些针对文件和目录的额外标记,或叫作属性(attribute)。
- A
Atime。告诉系统不要修改对这个文件的最后访问时间。 - S
Sync。一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。 - a
Append Only。系统只允许在这个文件之后追加数据,不允许任何进程覆盖或者截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。 - i
Immutable。系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。 - d
No dump。在进行文件系统备份时,dump程序将忽略这个文件。 - c
Compress。系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后,才写入磁盘。 - s
Secure Delete。让系统在删除这个文件时,使用0填充文件所在的区域。 - u
Undelete。当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。对于这些属性的操作主要是两个命令来实现,lsattr和chattr,其中lsattr比较简单,就是列出关于EXT2属性的信息,
例如,
[allen@localhost ~]$ lsattr snip.sh
----ia-A----- snip.sh
改变属性用chattr,格式如下,
chattr [+|-]attr filename
+/-表示增加属性/减去相应的属性,注意有些属性则只有root用户能增加到文件上,这就是为什么这些属性能提高系统的安全性了。特别是a,i这两个属性,通常可以用在系统日志文件和其他一些重要的文件上。例如给/bin /boot /etc /lib /sbin /usr/bin /usr/include /usr/lib /usr/sbin 加上+i属性,保护这些目录,而对于/var/log/messages,给他加上a是比较好的。显然,/,/tmp,/var,/dev不适合加上ext2附加属性。
Comments