1. 命令功能
chattr和lsattr用来改变文件、目录属性和查看这种文件属性;chmod只是改变文件的读、写、执行权限,更底层的属性控制是由chattr来改变。
2. 语法格式
chattr [ -RVf ] [ -v version ] [ mode ] files.
关键说明:
[mode]部分由+-=和[ASacDdIijsTtu]字符组成,这部分用来控制文件属性。
3. 使用范例
范例1:chattr防止系统中某个关键文件被修改
[root@localhost data]# cp /etc/resolv.conf .
[root@localhost data]# chattr +i resolv.conf #给文件加上不能被改变权限属性
[root@localhost data]# echo "hello world" >> resolv.conf #不能追加内容
-bash: resolv.conf: Permission denied
[root@localhost data]# rm resolv.conf #不能删除
rm: remove regular file `resolv.conf'? y
rm: cannot remove `resolv.conf': Operation not permitted
[root@localhost data]# mv resolv.conf resolv.conf.bak #不能改名
mv: cannot move `resolv.conf' to `resolv.conf.bak': Operation not permitted
范例2:取消 -i权限
[root@localhost data]# chattr -i resolv.conf
[root@localhost data]# echo 'hello' >> resolv.conf
[root@localhost data]# cat resolv.conf
nameserver 114.114.114.114
nameserver 61.128.128.68
hello world
hello
范例3:只能追加,不能删除,适用于日志
[root@localhost data]#chattr +a resolv.conf
[root@localhost data]# echo "123" >> resolv.conf
[root@localhost data]# echo "456" > resolv.conf
-bash: resolv.conf: Operation not permitted #删除报错
[root@localhost data]# cat resolv.conf
......
hello
123