指定單一資料夾權限給WebFaction的新SSH使用者

因為客戶Host在WebFaction上,而我們的WebFaction也有其他客戶共用,所以不能讓他的FTP有太多權限,如果只在WebFaction的Panel上增加SSH使用者,他的權限可以大到能瀏覽整個Project List及裡面的檔案,為了隱私權我們只好透過SSH調整一下在主機上的使用者權限

我們假設新使用者名稱為 new_user_001

1. 透過Terminal連線到WebFaction,使用最高權限帳號

2. 先開放整個HOME給新使用者

setfacl -m u:new_user_001:--x $HOME

3. 移除webapps底下所有檔案的權限

setfacl -m u:new_user_001:--- $HOME/webapps/* 

**注意:這邊的語法僅適用目前Host已存在的專案,若日後有新增專案,這個指令要再做一次!
**或者也可以針對新專案更改權限設定:

setfacl -m u:new_user_001:--- $HOME/webapps/新專案名稱

4. 給予指定資料夾 讀取/寫入/執行 的權限

setfacl -R -m u:new_user_001:rwx $HOME/webapps/專案名稱

5. 給予指定資料夾在未來有新增檔案時的 讀取/寫入/執行 的權限

setfacl -R -m d:u:new_user_001:rwx $HOME/webapps/專案名稱

6. 為現在登入的最高權限者,給予指定資料夾 group owner 權限

chmod g+s $HOME/webapps/專案名稱

7. 為現在登入的最高權限者,給予指定資料夾所有權限

setfacl -R -m d:u:目前登入的最高權限使用者:rwx $HOME/webapps/專案名稱

———參考文獻———-
[1] General Topics (Granting Access to Specific Users) – https://docs.webfaction.com/software/general.html#granting-access-to-specific-users

[2] 第十三章、Linux 帳號管理與 ACL 權限設定 (13.3.1 什麼是 ACL 與如何支援啟動 ACL) – http://linux.vbird.org/linux_basic/0410accountmanager.php#acl_talk

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料