Chattr是一个命令行Linux实用命令,用于更改文件属性。它与chmod的区别是更偏向底层,chattr命令用于防止意外删除文件或目录。
即使您对文件具有完全权限,也无法删除通过chattr属性保护的文件。除非你使用root或具有sudo特权的用户才能修改此属性。
chattr命令可设置的(常用)属性
1 | 格式 |
a 只能以追加模式对文件进行写入
i 无法修改,删除或重命名文件,无法创建与此文件的链接,也不能将任何数据写入该文件。
注: 只有超级用户可以设置或清除此属性。
示例1:chattr保护文件
1 | 创建示例文件 |
现在使用+i在文件(file1)上使用设置不可变属性。
1 | chattr +i file1 |
尝试编辑和删除
1 | echo "设置i属性后尝试编辑" >> file1 |
取消不可变属性后, 便可以进行操作了
1 | chattr -i file1 |
示例2:chattr保护目录
1 | 使用+运算符, 递归设置目录testdir目录的不可变属性 |
1 | 使用-运算符,取消设置目录testdir目录的不可变属性 |
总结
建议保护的文件
- /etc/passwd
- /etc/shadow
- /etc/sudoers
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2020/03/25/chattr-lsattr-md/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!