chattr 语法: [root @test /root ]# chattr [+-=][ASacdistu] [档案或目录名称] 参数说明: +-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思 A :当设定了 A 这个属性时,这个档案(或目录)的存取时间 atime (access) 将不可被修改, 可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生! S :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失! a :当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。 c :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来! 但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!) d :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效! i :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!』 对于系统安全性有相当大的帮助! j :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中! 但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效! s :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。 u :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion. 范例: [root @test /root]# chattr +i /etc/shadow<==呵呵!如此则无法更动这个档案啰! [root @test /root]# chattr -i /etc/shadow <==解除该属性! 说明: 这这个指令是重要的,尤其是在系统的安全性上面!由于这些属性是隐藏的性质,所以需要以 lsattr 才能看到该属性呦! 其中,个人认为最重要的当属 +i 这个属性了,因为他可以让一个档案无法被更动,对于需要强烈的系统安全的人来说, 真是相当的重要的!里头还有相当多的属性是需要 root 才能设定的呢!此外,如果是 log file 这种的登录档,就更需要 +a 这个可以增加,但不会被杀掉的参数了!怎样?很棒吧!未来提到登录档的认知时,我们再来聊一聊如何设定他吧! • lsattr 语法: [root @test /root ]# lsattr [-aR] 参数说明: -a :将隐藏文件的属性也秀出来; -R :连同子目录的数据也一并列出来! 范例: [root @test /root]# chattr +i .bash_logout [root @test /root]# lsattr -a -------------- ./. -------------- ./.. ---i---------- ./.bash_logout -------------- ./.bash_profile -------------- ./.bashrc -------------- ./.emacs -------------- ./.screenrc 说明: 这两个指令在使用上必须要特别小心,例如:某天你心情好,突然将 /etc/shadow 这个重要的密码记录档案给他设定成为 具有 i 的属性,那么过了若干天之后,你突然要新增使用者,却一直无法新增!别怀疑,赶快去将 i 的属性拿掉吧! (责任编辑:IT) |