如何在 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 ...

相關內容