
我的客戶是一家印表機店的老闆。我為他配置了一個 FTP 伺服器,客戶可以向他發送他們想要列印的大檔案。
我已經創建了幾個 FTP 使用者。他有一些高級客戶和一些常規客戶。普通客戶被告知使用 FTP 用戶客戶。擁有者有一個名為“clients”的資料夾,具有下一個權限。
printshopowner# ls -la
drwx-----x 9 printshopowner printshopowner 4096 Aug 17 08:07 .
drwx-wx-wx 9 printshopowner clients 4096 Jan 19 10:24 clients
drwxrwx--- 2 premiumuser printshopowner 4096 Jan 19 08:13 premiumuser
它運行良好。客戶端可以上傳檔案而不會看到其他客戶端的檔案。問題是當客戶端上傳資料夾時。 FTP 用戶印刷店老闆 無法刪除這些資料夾。
[printshopowner/clients]# ls -la
drwx-wx-wx 9 printshopowner clientes 4096 Jan 19 10:24 .
drwx-----x 9 printshopowner printshopowner 4096 Aug 17 08:07 ..
drwxr-xr-x 3 clients clients 4096 Dec 3 11:57 folderA
知道我應該如何配置 FTP 保管箱才能實現所需的功能嗎?
答案1
您可以嘗試在 vsftpd.conf 中設定 local_umask
本地掩碼=0002
也可以考慮查看 file_open_mode。這控制了創建上傳檔案的權限,並在此值之上應用了 umask。
答案2
要刪除(或正確地說「取消連結」)檔案/目錄 X,使用者不需要擁有 X 的所有權,或不需要 X 的寫入權限,但他們必須擁有 X 的寫入權限。X 的父母目錄。
在您的情況下,printshopowner可以刪除(rmdir)folderA,但前提是它是空的。使用者 printshopowner 無法刪除資料夾 A 內的任何內容(他沒有寫入權限)。如果您將客戶的umask更改為002,他會將folderA設定為“drwxrwxr-x”,並且printshopowner將能夠刪除它(我假設printshopowner被分配給printshopowner組和客戶組)。不知道如何更改 FTP 伺服器中的 umask。