如何在 Linux 上提供写权限时防止用户重命名文件

如何在 Linux 上提供写权限时防止用户重命名文件

出于某些特殊目的,我想阻止 Linux 服务器的非 root 用户更改或重命名文件名。但是,他们可以修改和写入文件的内容。如何从命令行执行此操作。

答案1

要重命名文件,文件的写入权限无关紧要,重命名文件是对目录的更改,而不是对文件的更改。这是将目录条目更改为指向文件的不同名称。

所以你需要做的就是更改目录的权限。例如:

chown root: .
chmod 755 .

这将阻止用户重命名其中的文件,也阻止用户创建或删除文件。如果您仍然希望他们能够这样做,您可以使目录可写,但也设置该t位。设置该位后,用户(不受限制的目录所有者除外)只能删除或重命名他们拥有的文件。

chown root:people-who-can-create-file-here .
chmod 1775 .
chown root:people-who-can-modify-the-files file1-that-must-not-be-rename ...
chmod 664 file1-that-must-not-be-rename ...

相关内容