因為客戶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
搶先發佈留言