root 擁有的資料夾的權限

root 擁有的資料夾的權限

當我以具有 777 權限的 root 使用者身分建立目錄時,當我以預設使用者身分登入時可以刪除它,但當我以aorb使用者身分登入時,我無法刪除它。顯示權限被拒絕。

我的問題是,為什麼我的預設使用者可以刪除 root 創建的資料夾,而其他使用者卻不能,因為所有人都擁有 777 權限。

答案1

如果使用者對目錄具有寫入和執行權限,則他們可以刪除其中的任何檔案或目錄,無論其所有權如何。之所以如此,是因為從目錄中刪除檔案或子目錄是對目錄的修改,而不是對被刪除內容的修改。

範例:我在我擁有的目錄中建立一個 root 擁有的目錄,然後將其刪除。

$ sudo mkdir directory
$ ls -l
total 4
drwxr-xr-x  2 root  wheel  512 Nov 25 11:11 directory
$ rmdir directory
$ ls -l

(無輸出)

現在,如果子目錄包含文件,那麼該目錄的權限就變得更有趣了:

$ sudo mkdir directory
$ sudo touch directory/file
$ rm -rf directory
rm: directory/file: Permission denied
rm: directory: Directory not empty

在這裡,我無法刪除子目錄,因為我無權刪除其中的檔案。

但是你說權限設定為777,這意味著任何人都可以刪除其中的檔案:

$ sudo chmod 777 directory
$ rm -rf directory

(沒有錯誤)

我係統上的另一個用戶仍然無法執行此操作,因為他們在我正在工作的目錄中沒有寫入權限,儘管他們可以還是刪除內容root 擁有的子目錄的目錄,如果他們可以存取該目錄(使用者需要對該目錄的執行權限,並且所有父目錄)。

相關內容