CentOS下chattr(设定档案隐藏属性)命令讲解

时间:2022-05-04 14:19:29

[root@linux ~]# 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.

注意:这个属性设定上面,比较常见的是 a 与 i 的设定值,而且很多设定值必须要身为

root 才能够设定的喔!

范例:

[root@linux ~]# cd /tmp

[root@linux tmp]# touch attrtest

[root@linux tmp]# chattr +i attrtest

[root@linux tmp]# rm attrtest

rm: remove write-protected regular empty file `attrtest'? y

rm: cannot remove `attrtest': Operation not permitted

# 看到了吗?呼呼!连 root 也没有办法将这个档案删除呢!赶紧解除设定!

[root@linux tmp]# chattr -i attrtest