`chattr + i FILE`和`chmod -w FILE`之间有什么区别?

Eff*_*ugs 8 unix linux filesystems

如果禁用该文件的写入权限,则无人可以更改该文件.

chattr +i FILE还可以保护从变化的文件.

让我知道有什么区别,什么时候应该使用chattr +i而不是chown -w.

S.M*_*.M. 7

chattr +i设置immutable文件的filesystem属性.它与访问控制规则不同.访问控制规则适用于文件属性,而immutable文件系统扩展文件属性可能并非在所有文件系统上都可用.只有具有root权限的用户才能设置或取消设置此扩展属性.没有人,甚至是所有者或具有写入权限的用户都可以写入此类文件.没有写入文件权限的用户可以创建指向常规文件的硬链接,但如果文件被标记为不可变,则用户无法创建硬链接,因为文件系统无法将引用计数更改为此不可变文件.

chattr +i用于防止root意外删除.此外,无法将不可变文件重命名或从一个目录移动到另一个目录.


web*_*org 6

来自chattr手册页

具有“i”属性的文件无法修改:无法删除或重命名,无法创建到该文件的链接,也无法向该文件写入任何数据。只有超级用户或拥有 CAP_LINUX_IMMUTABLE 能力的进程才能设置或清除该属性。

正如您所看到的,chattrchmod更强大。chmod -w仅删除write对文件内容的“ ”权限。而且您还需要使用chattr +i保护/锁定文件然后chattr -i解锁