Pure-FTPd 是一款免費(BSD)的,安全的,高品質和符合標準的FTP伺服器。 側重于運行效率和易用性。 它提供了簡單的答案,他滿足了大眾化的需求,包括普通使用者以及主機供應商們。
pure-ftpd 得到了充分的支援,它是始終以安全設計為理念,其代碼總是作為有漏洞的來進行討論,並重新審核。 該服務可以適應嚴格的安全需要做到許可權分離。 甚至在不需要Root許可權的情況下通過其內建的chroot()模擬以及虛擬帳戶100%正常運行。 避免密碼作為明文傳輸:pure - ftpd的HTTP://www.aliyun.com/zixun/aggregation/9511.html">OpenSSL庫支援可選的 SSL / TLS加密層使用。
快速,高品質,功能齊全的ftp伺服器,最重要的是可以支援設置用戶端預設編碼,這樣windows和linux之間用這個ftp就解決了亂碼的問題了。 這個功能vsftpd和proftpd都不具備,proftpd倒可以打補丁來支援,但傳說是不安全,最後那個補丁沒有更新了,貌似。
安裝
sudo apt-get install pure-ftpd
配置
ubuntu 的 pure-ftpd 的設定檔很特別,都是放到 「/etc/pure-ftpd/conf」 目錄下,而且是以選項為檔案名,選項值為檔內容。
下面介紹的配置請把選項名作為檔案名在 「/etc/pure-ftpd/conf」 下新建一個文字檔,然後內容就寫選項的值。
匿名登入功能
預設情況下不開啟匿名登入功能的,把 /etc/pure-ftpd/conf/NoAnonymous 的內容改為 no 在「系統->系統管理->使用者名和組」新建一個叫「ftp」的使用者名(一定要是這個名字),「高級」 裡面的主組的話可以新建一個叫「ftpgroup」的組來方便管理,如果不想「ftp」具備登錄本地系統的功能,可以在帳戶屬性的「高級」裡的「高級設置」的「Shell」裡選「/bin/false」, 主目錄就選一個你想要匿名使用者登錄是所在的目錄就可以了,我是設置了「/var/ftp/public」。
到這裡設置完畢後,重啟 ftp 服務(最好重啟系統)
sudo /etc/init.d/pure-ftpd restart
匿名使用者應該就能登錄了
虛擬使用者設置
在「系統->系統管理->使用者名和組」新建一個叫「ftpuser」的使用者名(ftpuser可以是你自己喜歡的一個名字),主組的話可以推薦選「ftpgroup」來方便管理,如果不想「ftpuser」 具備登錄本地系統的功能,可以在帳戶屬性的「高級」裡的「高級設置」的「Shell」裡選「/bin/false」, 主目錄就選一個你想要該使用者登錄是所在的目錄就可以了(其實是我沒有測試如果虛擬使用者和實際使用者的主目錄設置了不同的目錄的結果),我是設置了「/var/www/site」。
然後
sudo pure-pw useradd ftpuser -u ftpuser -d /var/www/site
會提示你設置一個密碼的。 這個命令就是用本地系統中的 「ftpuser」 使用者登錄,虛擬使用者名為「ftpuser」,「ftpuser」 的主目錄在 「/var/ftp」,虛擬使用者和本地使用者的名字可以不一樣的,自己改,其實ftpuser不建立也行, 可以直接用「ftp」這個使用者的。 使用者登錄 ftp 後的主目錄是以這條命令所指定的主目錄為准的。
添加完之後,讓 pure-ftpd 建立虛擬使用者資料
sudo pure-pw mkdb
生成的檔在 「/etc/pure-ftpd/pureftpd.pdb」