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首發。轉載請通知icecloud@sina.com。未經許可,禁止用於商業用途。