【linux】文件隐藏属性
这些隐藏的属性确实对于系统有很大的帮助的~ 尤其是在系统安全 (Security) 上面,重要的紧呢!不过要先强调的是,底下的chattr指令只能在Ext2/Ext3的文件系统上面生效, 其他的文件系统可能就无法支持这个指令了。
chattr (配置文件案隐藏属性)
[root@www ~]# chattr [+-=][ASacdistu] 档案或目录名称
选项与参数:
+ :增加某一个特殊参数,其他原本存在参数则不动。
- :移除某一个特殊参数,其他原本存在参数则不动。
= :设定一定,且仅有后面接的参数
A :当设定了 A 这个属性时,若你有存取此档案(或目录)时,他的访问时间 atime
将不会被修改,可避免I/O较慢的机器过度的存取磁盘。这对速度较慢的计算机有帮助
S :一般档案是异步写入磁盘的(原理请参考第五章sync的说明),如果加上 S 这个
属性时,当你进行任何档案的修改,该更动会『同步』写入磁盘中。
a :当设定 a 之后,这个档案将只能增加数据,而不能删除也不能修改数据,只有root
才能设定这个属性。
c :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩,
但是在储存的时候,将会先进行压缩后再储存(看来对于大档案似乎蛮有用的!)
d :当 dump 程序被执行的时候,设定 d 属性将可使该档案(或目录)不会被 dump 备份
i :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法
写入或新增资料!』对于系统安全性有相当大的帮助!只有 root 能设定此属性
s :当档案设定了 s 属性时,如果这个档案被删除,他将会被完全的移除出这个硬盘
空间,所以如果误删了,完全无法救回来了喔!
u :与 s 相反的,当使用 u 来配置文件案时,如果该档案被删除了,则数据内容其实还
存在磁盘中,可以使用来救援该档案喔!
注意:属性设定常见的是 a 与 i 的设定值,而且很多设定值必须要身为 root 才能设定
请尝试到/tmp底下建立档案,并加入 i 的参数,尝试删除看看。
lsattr (显示档案隐藏属性)
[root@www ~]# lsattr [-adR] 档案或目录
选项与参数:
-a :将隐藏文件的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R :连同子目录的数据也一并列出来!
[root@www tmp]# chattr +aij attrtest
[root@www tmp]# lsattr attrtest
----ia---j--- attrtest
[root@www ~]# cd /tmp
[root@www tmp]# touch attrtest <==建立一个空档案
[root@www tmp]# chattr +i attrtest <==给予 i 的属性
[root@www tmp]# rm attrtest <==尝试删除看看
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted <==操作不许可
# 看到了吗?呼呼!连 root 也没有办法将这个档案删除呢!赶紧解除设定!
请将该档案的 i 属性取消!
[root@www tmp]# chattr -i attrtest
转自:http://blog.sina.com.cn/s/blog_69a976e101015u81.html