2014年5月29日 星期四

ProFTP 權限設定

Linux 平台上有不少 open source 的FTP Server軟體,之前開始學習時就以 ProFTPD 為主,所以紀錄一下自己在設定時遇到的問題。

以下的設定需求如下:
1) 禁止匿名登入
2) 使用者只能連到自己的 Home Directory,禁止連到其他的目錄
3) 使用者可以上傳檔案、覆蓋,但禁止刪除、下載
    (開啟 FTP卻禁止使用者下載~~~  這有點奇怪吧,哈哈哈)

操作步驟如下

1) 下載 ProFTP
  •  我比較偷懶,到 http://rpm.pbone.net/ 下載 rpm 包 
2) 安裝 ProFTP
  • 將下載的 rpm 包放置主機上,然後 rpm -ivh 即可安裝
3) 編輯 /etc/proftpd.conf

DefaultRoot                       ~ !adm                   (設定使用者只能到 Home Directory)

<Global>                                                       (此參數適合整個FTP網站)            
  AllowOverwrite                no                       (擁有檔案複寫的權限)
#  <Limit ALL SITE_CHMOD>
#    AllowAll
#  </Limit>

  <Limit WRITE>                                          (寫入權限設定)
    AllowAll                                                
  </Limit>

  <Limit DELE RMD RETR >                     (刪除檔案及目錄、下載權限設定)
    DenyAll
  </Limit>

</Global>

4) 將 ProFTP 服務啟動
  • service proftpd start
5) 若需要開機就啟動的話,請下以下參數
  • chkconfig proftpd on


以下我將各參數使用目的列出,若有需要可自行變換:
 CMD:    Change Working Directory 改變目錄
 MKD:    MaKe Directory建立目錄的權限
 RNFR:   ReName FRom 更改目錄名的權限
 DELE:    DELEte 刪除文件的權限
 RMD:     ReMove Directory 刪除目錄的權限
 RETR:    RETRieve 從服務端下載到客戶端的權限
 STOR:    STORe 從客戶端上傳到服務端的權限
 READ:   可讀的權限,不包括列目錄的權限,相當於RETR,STAT等
 WRITE:  寫文件或者目錄的權限,包括MKD和RMD
 DIRS:     是否允許列目錄,相當於LIST,NLST等權限,還是比較實用的
 ALL:      所有權限
 LOGIN: 是否允許登陸的權限

針對權限的應用對象,可用下列方式設定。
 AllowUser       針對某個用戶允許的Limit
 DenyUser        針對某個用戶禁止的Limit
 AllowGroup    針對某個用戶組允許的Limit
 DenyGroup     針對某個用戶組禁止的Limit
 AllowAll          針對所有用戶組允許的Limit
 DenyAll           針對所有用戶禁止的Limit

PS:  以上的使用環境為 CentOS 5.10。


沒有留言:

張貼留言