每天一个Linux命令之 chattr
chattr命令可以对文件或者文件夹进行属性修改,只有 root 用户可以使用,这个命令是一个很有用的命令,可以避免很多麻烦
属性选项功能 (本文只讲最重要的i属性和a属性)
如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;
如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件;
如果对文件设置 a 属性,
那么只能在文件中増加数据,但是不能删除和修改数据;
如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;
其主要的用法可以实现一些简单的防篡改功能
比如实现目录dir下无法删除创建文件 (注意,目录下已经存在的文件如果没有+i则可以被编辑,但无法删除)
[root@localhost ~ -> ]# mkdir dir
[root@localhost ~ -> ]# chattr +i dir
[root@localhost /root/dir -> ]# touch a
touch: 无法创建"a": 权限不够
[1root@localhost /root/dir -> ]# mkdir d
mkdir: 无法创建目录"d": 权限不够比如实现文件无法修改删除
[root@localhost /root/dir -> ]# touch test
[root@localhost /root/dir -> ]# chattr +i test
[root@localhost /root/dir -> ]# echo hello > test
zsh: 权限不够: test
[1root@localhost /root/dir -> ]# touch test
touch: 无法创建"test": 权限不够如果将目录和目录下文件同时增加i 属性,就实现了最简单的防篡改功能
给设置有 i 属性的文件删除此属性也很简单,只需将 chattr 命令中 + 改为 - 即可。
演示 a 属性的作用
[root@localhost ~ -> ]# chattr +a dir
[root@localhost ~ -> ]# cd dir
[root@localhost /root/dir -> ]# touch a
[root@localhost /root/dir -> ]# rm -rf a
rm: 无法删除"a": 不允许的操作
[root@localhost /root/dir -> ]# chattr +a a
[root@localhost /root/dir -> ]# echo 123 > a
zsh: 不允许的操作: a
[1root@localhost /root/dir -> ]# echo 123 >> a
[root@localhost /root/dir -> ]# cat a
123这个a属性就跟貔貅一样,只进不出
如果有对linux比较有兴趣的朋友,请大家点个关注,互相学习
| 留言与评论(共有 0 条评论) “” |