我在伺服器情況下遇到了一些麻煩,我將一些設定檔保存在 Web 專案的子目錄中。我使用我的超級使用者帳戶,透過上傳這些檔案來更改 NetBeans 為我提交的檔案。
但客戶端需要能夠透過ftp存取和修改這些檔案。我能夠運行 achown ftpuser *.*
並且它有效,但直到我重新上傳該文件,之後它再次歸我所有,並且客戶端無法再修改它。
我怎樣才能使這些文件可由我修改和客戶端?
(這是在 Plesk 11 上運行的 Debian 6.0)
答案1
您應該尋找基於文件的 ACL (FACL),因為它們是為了執行您想要執行的操作而設計的。
簡而言之,您可以透過編輯 /etc/fstab 並新增「acl」:選項來設定相關分區以追蹤基於檔案的 acl 權限:
#example /dev/VolGroup00/LogVol02 / ext3 defaults,acl 1 1
然後在您希望客戶端存取的目錄上設定適當的 FACL:
#set existing owner/group to rwx
chmod ug=rwX -R /some/ftp/directory
#set existing files/folders to rwx for ftpuser
setfacl -m u:ftpuser:rwX -R /some/ftp/directory
#set future files/folders to rwx for ftpuser
setfacl -dm u:ftpuser:rwX -R /some/ftp/directory
(請注意,我們將現有所有者和群組設定為 rwx,因為 FACL 僅限於所屬群組的權限。還有其他方法可以解決此問題,但最簡單的是確保所屬群組為 rwx)
連結: http://linuxcommando.blogspot.com/2007/12/basic-linux-permission-model-lets-you.html http://retrop.wordpress.com/2012/02/10/enabling-file-acls-in-debian-6-access-control-lists/