防止刪除資料夾,但允許存取其中的所有內容

防止刪除資料夾,但允許存取其中的所有內容

我知道文件和目錄有 +i 標誌,但我有一個更深層的問題。

有沒有辦法防止資料夾被應該能夠建立/存取/刪除檔案和資料夾的使用者刪除裡面受刪除保護的資料夾?

sudo chattr +i testfolder標誌不會有幫助,因為使用者只能讀取文件,而不能建立或刪除這些文件。

sudo chattr +a testfolder標誌不會有任何幫助,因為用戶可以寫入和讀取文件,但只能附加編輯文件而不刪除它們。

我需要一個用戶能夠寫入、存取的解決方案刪除檔案但無法刪除根/父資料夾。

答案1

目錄的刪除取決於其父目錄的權限,而不是自己的權限。如果使用者對父目錄具有寫入權限,則該目錄是可刪除的,否則不可刪除。

因此,如果使用者不必擁有建立或刪除與要保護的目錄相同層級的目錄/檔案的權限,那麼這應該可行:

chmod 755 /the/parent/dir 

如果仍必須允許某些使用者修改父級的內容,則父級應由其成員是這些使用者的群組擁有,並且該群組應具有寫入權限:

addgroup bigguys
chgrp bigguys /the/parent/dir
chmod 775 /the/parent/dir

相關內容