man*_*m-n 5 vim permissions command-line administration rename
出于某些特殊目的,我想防止 Linux 服务器的非 root 用户更改或重命名文件名。但是,他们可以修改和写入文件的内容。如何从命令行执行此操作。
从Unix & Linux SE 上的这个答案中引用Stephane Chazelas。
要重命名文件,对文件的写入权限无关紧要,重命名文件是对目录的更改,而不是对文件的更改。这就是将目录条目更改为指向该文件的不同名称。
所以你需要做的就是改变目录的权限。例如:
Run Code Online (Sandbox Code Playgroud)chown root: . chmod 755 .
这将阻止用户重命名其中的文件,但也阻止创建或删除文件。如果您仍然希望他们能够这样做,您可以改为使目录可写但也设置
t
位。设置该位后,用户(不受限制的目录所有者除外)只能删除或重命名他们拥有的文件。Run Code Online (Sandbox Code Playgroud)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 ...
归档时间: |
|
查看次数: |
7139 次 |
最近记录: |