Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 什么';“chattr+;i文件`chmod-w文件`?_Linux_Unix_Filesystems - Fatal编程技术网

Linux 什么';“chattr+;i文件`chmod-w文件`?

Linux 什么';“chattr+;i文件`chmod-w文件`?,linux,unix,filesystems,Linux,Unix,Filesystems,如果文件的写入权限被禁用,则任何人都无法更改该文件 chattr+i文件也可以保护文件不受更改 请告诉我有什么区别,以及什么时候应该使用chattr+i而不是chown-wchmod-w file在所有UNIX环境中都可用,但是chattr-i file使用扩展文件属性在您的系统上可能不可用,具体取决于文件系统/发行版的类型 除此之外,请查看使用扩展文件属性的优点和缺点。chattr+i设置文件上的不可变文件系统属性。它不同于访问控制规则。访问控制规则适用于文件属性,而不可变是一个文件系统扩展的

如果文件的写入权限被禁用,则任何人都无法更改该文件

chattr+i文件
也可以保护文件不受更改


请告诉我有什么区别,以及什么时候应该使用
chattr+i
而不是
chown-w
chmod-w file
在所有UNIX环境中都可用,但是
chattr-i file
使用扩展文件属性在您的系统上可能不可用,具体取决于文件系统/发行版的类型


除此之外,请查看使用扩展文件属性的优点和缺点。

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


chattr+i
有助于防止根用户意外删除。此外,不可变文件不能重命名或从一个目录移动到另一个目录。

来自
chattr
手册页

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


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

我发现使用“chattr-i”的好处。我们可以在不考虑所有者、权限等任何因素的情况下保护该文件。只需执行'chattr-i'。然后,您是否有充分的理由对文件执行'chattr-i'(根chmod==444)?@effectivebug如果您想保护文件不被根删除,则
chattr+i
非常有用。