Freebsd 輔助組不允許刪除文件夾
TLDR:我有一個使用者是作為輔助組的組的成員。此使用者可以作為輔助使用者刪除權限為 664 的文件,但不能刪除權限為 775 的目錄。
詳細資訊:我有一個使用者。讓我們稱他為ftpuser。我使用他將文件上傳和下載到我的 devbox。使用者的主要組是“ftp”,並且在組“www”中作為次要組。我的網路伺服器以使用者 www 和 www 組執行,並且我已將proftpd(以 www 和 www 執行)配置為將所有文件作為 www 和 www(用於文件所有權)拖放到所需的目錄中,並在文件上允許 664,在目錄上允許 775。
我的問題是(嘗試使用 2 個 ftp 客戶端)ftp 客戶端可以刪除文件,但不能刪除文件夾。Filezilla 返回 550 權限被拒絕。沒有設置所有者只能刪除標誌,我已經三次檢查了權限,它們確實是 775。
每次都必須登錄我的伺服器以手動刪除文件夾,這讓我發瘋。一些文件夾和文件是由我的 1 個 php 腳本創建的,但是當我檢查文件的屬性時權限設置正確。
目錄和文件創建工作非常出色。可以刪除文件,但不能刪除目錄。
Freebsd 9.0 在 VirtualBox 中執行(32 位) Proftpd(作為 www 和 www 執行)作為 ftp 伺服器(嘗試使用 dreamweaver 和 filezilla 作為客戶端)基本放大器設置(apache、mysql 和 php)。
編輯:
父文件夾是 755。我知道這將是一些愚蠢的簡單且容易被忽視的東西。我以為我將質量權限設置為 775 兩個目錄(apache22/data),但我必須在設置權限後創建該目錄。你每天學習新的東西。謝謝!
要刪除目錄,您必須對其父目錄具有寫入權限。例如,給定這個目錄:
drwxr-xr-x 3 owner staff 102 Nov 5 22:00 . drwxr-xr-x 160 owner admin 5440 Nov 5 22:00 .. drwxr-xr-x 2 owner staff 68 Nov 5 22:00 foo
only
owner
可以刪除目錄foo
(因為只owner
對父目錄有寫權限)。如果您授予
staff
組對父目錄的寫入權限:drwxrwxr-x 3 owner staff 102 Nov 5 22:00 . drwxr-xr-x 160 owner admin 5440 Nov 5 22:00 .. drwxr-xr-x 2 owner staff 68 Nov 5 22:00 foo
然後該組的任何成員都
staff
可以刪除該目錄foo
。但是請注意,為了刪除目錄,他們還需要能夠刪除其所有內容,因為您無法刪除非空目錄。