1 下載
http://sourceforge.net/projects/pureftpd/
最新版本是pure-ftpd-1.0.16a.tar.bz2
此處同時提供一個圖形管理界面軟件kcmpureftpd,有興趣可以下載用
2 安裝
解包到任意目錄,如/usr/local/
tar -xjf pure-ftpd-1.0.16a.tar.bz2
mv pure-ftpd* puresrc
cd puresrc
預製:
./configure --prefix=/usr/local/pureftpd --with-language=simplified-chinese --with-everything
注:
--with-eyerything是安裝所有功能
--with-language=simplified-chinese是採用中文作爲提示語言
--prefix是安裝的目標目錄
另外如果需要與mysql連接等還需要在此指定。本文不涉及。
編譯安裝:
make install-strip
3 建立用戶
pureftp默認的是採用linux的用戶,比如用root登錄等等。此處同時採用其自帶的virtual users系統。該系統獨立於linux。
進入安裝執行目錄
cd /usr/local/pureftpd/bin
建立一個ftp用戶與組:
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser
建立第一個虛擬用戶:
./pure-pw useradd ftpu -u ftpuser -d /usr/local/testRoot
說明:ftpu是用戶名,-u ftpuser是其實際的linux用戶,-d指定起始目錄,並鎖定於該目錄。如果不鎖定,則用-D
如果需要不同的權限,可以建立新的linux用戶與組
建立用戶數據庫:
./pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb
說明:今後每添加或修改用戶數據庫都應該執行一次mkdb,執行後不需要重起ftp
4 建立運行語句
pureftpd的理論是:命令行執行參數比使用conf文件更有效。雖然軟件同時提供對.conf文件的支持,但。。還得執行perl文件,怪麻煩的。
cd /usr/local/pureftpd/sbin
./pure-ftpd -A -B -C 1 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/pureftpd.pdb -p 40000:50000 -R -w
注:此處的運行參數含義如下:
-A 將所有用戶所定於根目錄
-B 後臺運行
-C 每個ip連接數目
-c 總連接數
-E 禁用匿名用戶
-G 禁用文件更名
-I 空閒超時時間(分鐘)
-l 這是比較重要的一個參數,目的是說明身份認證的方式
此處同時使用默認的linux用戶和虛擬用戶兩種
如果需要用mySQL,則在此處增加設定
-p 設定PORT模式的端口
-R 禁止用戶使用CHMOD
-w 啓用FXP協議
以上是我的系統需要的一些參數,更多的參數請參見README文件
運行後啓動,測試用戶root及ftpu,一切ok..
5 自動啓動
pureftp支持多種啓動方式,俺採用了最容易的一種:
vi /etc/rc.d/rc.local
添加
cd /usr/local/pureftpd/sbin
./pure-ftpd -A -B -C 1 -c 50 -E -G -I 2 -l unix -l puredb:/usr/local/pureftpd/pureftpd.pdb -p 40000:50000 -R -w
reboot,一切ok
6 善後工作:
下面就可以給你的系統建立用戶了。
對於不同的目錄或文件,可以採用
chown ftpuser dir 及 chgrp ftpusers dir 來進行權限的分配
這樣ftp中才能對文件和目錄進行操作。
7 其他
pureftpd 另外也提供了一個圖形界面的配置管理器。可在sourcefouge同時下載。可惜我是遠程telnet的,無法用。看圖片應該是還不錯的。
不喜歡命令行的可以試試看。
總結:
寫這篇文章是鬱悶了一天之後的心得。之前的proftpd我始終搞不明白其配置方式及用戶授權機制。只好改用pureftpd,沒想到效果還不錯。挺好用的。
另外一個心得就是,linux真tmd不是人用的。請原諒我在此說髒話。但是,確實,比起windows,linux的操作性差了很多很多很多.... 怪不得無法普及。
CSDN首發。轉載請通知[email protected]。未經許可,禁止用於商業用途。