如果禁用该文件的写入权限,则无人可以更改该文件。
chattr +i FILE
也可以保护文件免受更改。
让我知道有什么区别,什么时候应该使用chattr +i
而不是chown -w
。
chattr +i
在文件上设置immutable
文件系统属性。它与访问控制规则不同。访问控制规则适用于文件属性,而immutable
是文件系统扩展文件属性,可能并非在所有文件系统上都可用。只有具有root权限的用户才能设置或取消设置此扩展属性。没有人,甚至是所有者或具有写入权限的用户都可以写入此类文件。没有写入文件权限的用户可以创建指向常规文件的硬链接,但如果文件被标记为不可变,则用户无法创建硬链接,因为文件系统无法将引用计数更改为此不可变文件。
chattr +i
可用于防止root用户意外删除。此外,无法将不可变文件重命名或从一个目录移动到另一个目录。
来自chattr
手册页
无法修改具有“i”属性的文件:无法删除或重命名该文件,无法为此文件创建链接,也无法将数据写入该文件。只有超级用户或拥有CAP_LINUX_IMMUTABLE功能的进程才能设置或清除此属性。
如您所见,chattr比chmod更强大。 chmod -w仅删除文件内容的'write
'权限。而且你还需要使用chattr +i
保护/锁定文件然后chattr -i
解锁
chmod -w file
适用于所有UNIX环境,但是使用扩展文件属性的chattr -i FILE
可能在您的系统上不可用,具体取决于文件系统/发行版的类型!
最重要的是看看这个链接的扩展文件属性的好点/坏部分:https://www.lesbonscomptes.com/pages/extattrs.html