已将文件所有权更改为root,但原始用户仍然可以编辑文件?

时间:2018-07-25 17:32:29

标签: linux cpanel file-permissions chmod chown

我运行了以下命令:

chown root:root file.php
chmod 0644 file.php

键入ls -l时似乎已应用设置:

-rw-r--r-- 1 root root 310 Jul 26 01:25 file.php

但是,原始用户仍然可以通过Cpanel文件管理器编辑文件,并且保存后,文件所有权将恢复为原始用户。例如,

-rw-r--r-- 1 orig_user orig_user 310 Jul 26 01:25 file.php

如何防止用户编辑root用户已经拥有的文件?

2 个答案:

答案 0 :(得分:1)

在文件上使用chattr使其不可变。

sudo chattr +i file.php

答案 1 :(得分:0)

如果编辑器使用“擦除旧文件+写入新文件”而不是“修改现有文件”,则效果很好。如果是这样,则必须更改包含目录的权限,以防止用户擦除文件。

删除文件并不取决于文件的权限!

在shell中试用:

> touch bla
> chmod 000 bla
> sudo chown root:root bla
> rm bla
... maybe a warning ...

但是文件将被删除!

因为此chownchmod不能帮助文件,但不能帮助包含目录。

在诸如ext2,ext3和最常见的较新版本的文件系统上,可以使用chattr来保护更多属性。

> sudo chattr +i bla 
> lsattr bla

chattr手册页中:

  

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