1. 程式人生 > 實用技巧 >Ubuntu 14.04 上安裝和配置 FTP 伺服器 ProFTPD

Ubuntu 14.04 上安裝和配置 FTP 伺服器 ProFTPD

>>> hot3.png



proftpd的配置方式類似apache,比vsftpd更易用,xampp就集成了proftpd.
sudo apt-get install proftpd-basic
安裝時預設作為一個standalone server執行proftpd,如果每天的ftp請求量少,可以安裝為inetd服務,節省伺服器資源.
這裡我使用預設值,安裝為standalone server.
sudo netstat -antp|grep proftpd 檢視proftpd監聽的21埠

用proftpd提供的ftpasswd新建虛擬使用者test並設定密碼:

sudo mkdir -p /png/proftpd


sudo ftpasswd \
--passwd \
--file=/png/proftpd/passwd \
--name=test \
--uid=122 \
--gid=65534 \
--home=/srv/ftp \
--shell=/bin/false

其中uid和gid我使用的是安裝proftpd時自動建立的系統使用者ftp:nogroup的uid和gid,執行cat /etc/passwd|grep ftp可見.
/srv/ftp是安裝proftpd時自動建立的目錄,所有者為ftp:nogroup,許可權為755.
這樣虛擬使用者test以系統使用者ftp:nogroup登入/srv/ftp便可以對該目錄進行讀寫.
Linux上的FTP Server的讀寫許可權是對映到系統UGO(User Group Other)上的.
建立虛擬使用者時通過設定系統使用者uid和gid,以及合理地配置/srv/ftp目錄及其檔案許可權來實現讀寫控制.

建立新使用者時再次執行上述命令即可,根據需要改變一些引數.
比如我建立了一個以uid:gid為1000:1000的系統使用者執行,登入目錄為/png/www/example.com的虛擬使用者eechen:
sudo ftpasswd \
--passwd \
--file=/png/proftpd/passwd \
--name=eechen \
--uid=1000 \
--gid=1000 \
--home=/png/www/example.com \
--shell=/bin/false

建立使用者不需要過載proftpd,因為proftpd每次認證時都會讀取認證檔案.

設定passwd檔案讀寫許可權,確保proftpd能讀取該檔案:
sudo chown proftpd:nogroup /png/proftpd/passwd
sudo chmod 600 /png/proftpd/passwd

sudo nano /etc/proftpd/proftpd.conf 在末尾加入:
DefaultRoot ~ #將使用者限定在自己的目錄中,上面test使用者對應的就是/srv/ftp
RequireValidShell off #禁用Shell請求認證
AuthOrder mod_auth_file.c #認證方式順序,這裡採用檔案認證
AuthUserFile /png/proftpd/passwd #存放使用者名稱和密碼的檔案

sudo service proftpd reload 過載使配置生效

FileZilla為Linux提供了統一的二進位制包,無需安裝,解壓執行即可:
http://sourceforge.net/projects/filezilla/files/FileZilla_Client/

FileZilla裡使用虛擬使用者test和eechen分別建立一個ftp連線時ProFTPD的記憶體( RES )使用情況:

轉載於:https://my.oschina.net/eechen/blog/303398