chattr 设置影藏属性
用chattr
命令可以改变一个文件的隐藏属性,其语法格式为:
chattr [ -RVf ] [ -v version ] [ mode ] files…
下面给出几个选项的含义:
选项 | 含义 |
---|---|
-R | 递归更改目录下所有子目录和文件的属性 |
-V | 显示详细信息 |
-f | 忽略大部分错误信息 |
-v version | 设置文件的档案号码 |
mode | 设置文件的隐藏属性,其格式为+-=[acdeijstuACDST] |
设置文件的隐藏属性:
属性 | 含义 |
---|---|
A | 文件的atime(access time)不可被修改,这样可以减少磁盘I/O数量,对于笔记本电脑有利于提高续航能力 |
S | 硬盘I/O同步选项,功能类似sync |
a | 即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性 |
i | 文件不能被删除、改名、设定链接关系,同时不能写入或新增内容(即使是root用户)。只有root才能设定这个属性 |
c | 即compresse,文件会自动的经压缩后再存储,读取时会自动的解压 |
d | 即no dump,设定文件不能成为dump程序的备份目标 |
j | 即journal,设定此参数使得当通过mount参数”data=ordered”或”data=writeback”挂载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为data=journal,则该参数自动失效 |
s | 即secure,保密选项。设置了s属性的文件在被删除时,其所有数据块会被写入0 |
u | 即undelete,反删除选项。与s相反,文件在被删除时,其所有的数据块都保留着,用户今后可以恢复该文件 |
实例:
chattr 改变文件或目录的扩展属性
lsattr 查看文件目录的扩展属性
chattr +i /etc/passwd /etc/shadow //增加属性
chattr -i /etc/passwd /etc/shadow //移除属性
chattr +a: 只能给文件添加内容,但是删除不了(常常来设置log日志文件不被修改或则删除)
chattr -d: 不可删除
使用 chattr -R +i A (-R 递归地修改目录以及其下内容的属性) , 即可保护好A目录下的所有内容.
设置了’i’属性的文件不能进行修改,只有超级用户可以设置或清除该属性.
lsattr /etc/passwd /etc/shadow
chattr -R +i ttt 可以将ttt目录下的文件设置为不允许任何人修改
chattr -Ria /www/* 取消/www目录下的所有文件的限制
lsattr 查看影藏属性
用lsattr
命令列出文件的隐藏属性。其语法格式为:
lsattr [ -RVadv ] [ files… ]
下面给出几个选项的含义:
选项 | 含义 |
---|---|
-R | 递归显示目录下所有子目录和文件的属性 |
-V | 显示lsattr程序的版本信息 |
-a | 显示所有文件的属性信息,包括以.开头的文件 |
-d | 显示目录的属性,而不是目录下的文件的属性 |
-v | 显示文件的档案号码 |
例如,下面这条命令显示MySecretDir目录的隐藏属性:
$ lsattr -Rd MySecretDir/
----i----------- MySecretDir/
显示目录的属性
lsattr -d HCNA/
显示所有文件的属性信息
lsattr -a .