指定單一資料夾權限給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

vi vim 你到底要怎麼用 : 幾個常用及必學指令

其實我每次要用vi前都一定要去鳥哥那邊爬文,實在太累所以就收集一些放在這了

進入方法

$ vi

(vi後面一定要有檔名,不管存不存在)

[一般模式] (狂按ESC就是了)

按下 i、a、o、r 可以進入編輯模式
i:從目前游標處插入
a:從目前游標的下一個字元插入
o:從目前游標的下一行插入新的一行
r:取代游標所在的一個字元一次

大寫也有功能喔!
I:從目前游標所在行的第一個非空白字元處開始插入
A:從目前游標所在行的最後一個字元處開始插入
O:從目前游標所在處的上一行插入新的一行
R:一直取代游標所在的文字,直到按下 ESC 為止

移動游標的方法
H:←
J:↓
K:↑
L:→

搜尋文字
/word
word是你想搜尋的字

刪除
x:向後刪除一個字元(等同於del)
X:向前刪除一個字元(等同於backspace)
dd:刪除游標所在一整行

[編輯模式] (你正在打字)

不要按到Num Pad那邊的數字就好…XD

[指令列命令模式] (狂按ESC後準備存檔或放棄時,按 :or / or ?)

:wq 儲存後離開
:wq! 強制寫入後離開(要有權限)
:w 只存檔
:w! 強制存檔
:q 離開
:q! 強制離開不存檔
:w 另存新檔