我們有時候需要通過FTP服務進行資源共享,但是經常又希望分發出去的不同的帳號有著不同的訪問權限,比如現在有帳號A,B,C,而在資源文件夾內有三個對應的文件夾file_a,file_b,file_c,我們希望A只能訪問file_a,而不能訪問file_b,file_c;其他帳號同理,有著各自的訪問域。這個時候,可以通過設置文件的所屬和訪問權限實現。本文系統基于ubuntu 16.04, FTP使用的是vsftpd進行部署的。
一般來說,文件如果是以D的帳號進行建立的,那么其文件所屬就是D,一般來說除了root用戶,就只有D可以進行訪問,編輯和運行。其權限一般為777,如果我們希望除了root用戶,只有A用戶可以讀和運行(一般公開的數據不允許他人刪除和寫入操作),那么可以:
# 假設file_a是文件夾
sudo chown -R user_A file_a/
sudo chmod -R 500 file_a/
其實很好理解,通過chown將文件歸屬者改成需要設置給予權限的用戶A后,通過chmod將其訪問權限設置為r-x,—,---,也就是只有所屬者可讀可運行,不可寫即可了。從而就可以實現FTP給予不同用戶以不同的訪問域了。這是個直接粗暴的做法,如果有更好的做法,歡迎留言區評論建議,謝謝。
Reference
[1]. chmod 權限 命令詳細用法
[2]. Linux chown命令