Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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 已将文件所有权更改为root,但原始用户仍可以编辑该文件?_Linux_Cpanel_File Permissions_Chmod_Chown - Fatal编程技术网

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

Linux 已将文件所有权更改为root,但原始用户仍可以编辑该文件?,linux,cpanel,file-permissions,chmod,chown,Linux,Cpanel,File Permissions,Chmod,Chown,我运行了以下命令: chown root:root file.php chmod 0644 file.php 键入ls-l时,设置似乎已应用: -rw-r-r-1根目录310 Jul 26 01:25 file.php 但是,原始用户仍然可以通过Cpanel file Manager编辑文件,保存后,文件所有权回到原始用户。例如: -rw-r-r-1原始用户原始用户310 Jul 26 01:25 file.php 如何防止用户编辑已由root用户拥有的文件?在文件上使用以使其不可变 sudo

我运行了以下命令:

chown root:root file.php
chmod 0644 file.php
键入ls-l时,设置似乎已应用:

-rw-r-r-1根目录310 Jul 26 01:25 file.php

但是,原始用户仍然可以通过Cpanel file Manager编辑文件,保存后,文件所有权回到原始用户。例如:

-rw-r-r-1原始用户原始用户310 Jul 26 01:25 file.php

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

在文件上使用以使其不可变

sudo chattr +i file.php

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

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

在shell中尝试:

> touch bla
> chmod 000 bla
> sudo chown root:root bla
> rm bla
... maybe a warning ...
但是文件将被删除

因为这个chown和chmod对文件没有帮助,但对包含目录有帮助

在ext2、ext3和最常见的较新文件系统上,您可以使用chattr使用更多属性进行保护

> sudo chattr +i bla 
> lsattr bla
从chattr手册页:

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


您的web服务器运行的帐户是什么?看起来我错了:P@merlin2011耶!chattr+我像一个BOSS一样工作原始用户可能对目录拥有写权限,Cpanel File Manager可能正在删除指向root拥有的文件的链接,并将其替换为指向原始用户拥有的文件的链接。Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者是一个更好的问题。但是文件所有者是root,cpanel如何删除它,除非cpanel是以root权限打开的。正如所说:即使我没有更改文件的权限,我也可以删除文件。您只能对文件本身设置读/写/执行权限。如果要删除该文件,请修改包含该文件的目录。文件本身未被修改。听起来很奇怪,但效果很好。如果您使用shell检查它,可能会收到一条警告,提示您要删除写保护文件。但是你仍然可以忽略警告。这只是一个方便的警告;