Linux入门-linux档案与目录管理-umask、chattr、lsattr

档案隐藏属性
什么?档案还有隐藏属性?光是那九个权限就快要疯掉了,竟然还有隐藏属性,真是要命~但是没办法,就是有档案的隐藏属性存在啊!不过,这些隐藏的属性确实对于系统有很大的帮助的~尤其是在系统安全(Security)上面,重要的紧呢!不过要先强调的是,底下的chattr指令只能在Ext2/Ext3/Ext4的Linux传统档案系统上面完整生效,其他的档案系统可能就无法完整的支援这个指令了,例如xfs仅支援部份参数而已。底下我们就来谈一谈如何设定与检查这些隐藏的属性吧!

chattr (设定档案隐藏属性)
[root@study ~]# 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 来设定档案时,如果该档案被删除了,则资料内容其实还存在磁碟中,
可以使用来救援该档案喔!
注意1:属性设定常见的是a 与i 的设定值,而且很多设定值必须要身为root 才能设定
注意2:xfs 档案系统仅支援AadiS 而已

范例:请尝试到/tmp底下建立档案,并加入i的参数,尝试删除看看。
[root@study ~]# cd /tmp [root@study tmp]# touch attrtest <==建立一个空档案 [root@study tmp]# chattr +i attrtest <==给予i的属性 [root@study tmp] # rm attrtest <==尝试删除看看 rm: remove regular empty fileattrtest’? y
rm: cannot remove attrtest': Operation not permitted
#看到了吗?呼呼!连root 也没有办法将这个档案删除呢!赶紧解除设定!

范例:请将该档案的i属性取消!
[root@study tmp]# chattr -i attrtest
这个指令是很重要的,尤其是在系统的资料安全上面!由于这些属性是隐藏的性质,所以需要以 lsattr才能看到该属性呦!其中,个人认为最重要的当属+i与+a这个属性了。+i可以让一个档案无法被更动,对于需要强烈的系统安全的人来说,真是相当的重要的!里头还有相当多的属性是需要root才能设定的呢!

此外,如果是log file这种的登录档,就更需要+a这个可以增加,但是不能修改旧有的资料与删除的参数了!怎样?很棒吧!未来提到登录档(十八章)的认知时,我们再来聊一聊如何设定他吧!

lsattr (显示档案隐藏属性)
[root@study ~]# lsattr [-adR]档案或目录
选项与参数:
-a :将隐藏档的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的档名;
-R :连同子目录的资料也一并列出来!

[root@study tmp]# chattr +aiS attrtest [root@study tmp]# lsattr attrtest --S-ia---------- attrtest
使用chattr 设定后,可以利用lsattr 来查阅隐藏的属性。不过, 这两个指令在使用上必须要特别小心,否则会造成很大的困扰。例如:某天你心情好,突然将 /etc/shadow 这个重要的密码记录档案给他设定成为具有i 的属性,那么过了若干天之后, 你突然要新增使用者,却一直无法新增!别怀疑,赶快去将i 的属性拿掉吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值