背景: FTP(File Transfer Protocol)是文件傳輸協議,常用於Internet上控制文件的雙向傳輸。同時,他也是一個應用程序,用戶可以通過它把自己的PC機與世界各地所運行的FTP協議的服務器項鍊,訪問服務器上大量應用程序和信息。FTP的主要作用就是本地計算機與遠程計算機(服務器)的文件共享。
官網:https://www.pureftpd.org/project/pure-ftpd
系統:ubuntu14.04
一 下載安裝
有兩種方式:源碼編譯安裝或者是使用 apt-get 安裝
-
源碼安裝
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.gz
如果下載時顯示404,請到http://download.pureftpd.org/pub/pure-ftpd/releases網站上查詢可下載版本並下載
tar zxf pure-ftpd-1.0.47.tar.gz
./configure --with-puredb
make && make install
默認會安裝到/etc目錄下 也可以在編譯時使用–prefix=指定安裝路徑 -
apt-get安裝
apt-get install pure-ftpd
安裝至/etc目錄下
二 配置
一般使用如下參數即可
ChrootEveryone yes #限制所有用戶在其主目錄中
BrokenClientsCompatibility no #兼容ie等比較非正規化的ftp客戶端
MaxClientsNumber 50 #服務器總共允許同時連接的最大用戶數
Daemonize yes #作爲守護(daemon)進程運行
MaxClientsPerIP 8 #同一IP允許同時連接的用戶數
VerboseLog no #如果你要記錄所有的客戶命令,設置這個指令爲yes
DisplayDotFiles yes #即使客戶端沒有發送‘-a’選項也列出隱藏文件
AnonymousOnly no #不允許認證用戶,僅作爲一個公共的匿名FTP
NoAnonymous yes #不允許匿名連接,僅允許認證用戶使用
SyslogFacility auth #日誌
DontResolve yes #在日誌文件中不解析主機名
MaxIdleTime 15 #客戶端允許的最大空閒時間(分鐘)
MySQLConfigFile /etc/pureftpd-mysql.conf #配置文件
PureDB /etc/pureftpd.pdb #PureDB 用戶數據庫
LimitRecursion 10000 8 #ls命令的遞歸限制。第一個參數給出文件顯示的最大數目。第二個參數給出最大的子目錄深度
AnonymousCanCreateDirs no #允許匿名用戶創建新目錄
MaxLoad 4 #如果系統的loaded超過下面的值,匿名用戶會被禁止下載
#PassivePortRange 30000 50000 這兩個參數開啓的話,將會使FTP工作在被動模式
#ForcePassiveIP 172.30.51.200 被動模式傳輸的IP,不加此參數可能會無法讀取文件
AntiWarez yes #不接受所有者爲ftp的文件的下載
Umask 133:022 #新建目錄及文件的屬性掩碼值
MinUID 100 #認證用戶允許登陸的最小組ID(UID)
AllowUserFXP no #僅允許認證用戶進行FXP傳輸
AllowAnonymousFXP no #對匿名用戶和非匿名用戶允許進行匿名FXP傳輸
ProhibitDotFilesWrite no #禁止用戶刪除和寫 點文件(文件名以.開頭的文件)
ProhibitDotFilesRead no #禁止讀點文件
AutoRename no #永不復蓋文件。當上傳的文件名和服務器中文件同名,將自動重命名
AnonymousCantUpload no #不允許匿名用戶上傳文件(no = 允許上傳)
MaxDiskUsage 99 #保護日誌文件。當所在磁盤分區使用超過百分之x時,將不再接受新的上傳
CustomerProof yes
四 添加用戶
創建系統用戶及ftp主目錄
groupadd -g 7777 pure-ftpd
useradd -g 7777 -u 7777 -d /var/empty pure-ftpd
mkdir /ftp/
chown pure-ftpd:pure-ftpd /ftp
創建ftp虛擬用戶,並通過uid和gid將其與系統用戶相關聯
pure-pw useradd xixi -u7777 -g7777 -d /ftp
創建用戶數據庫,每更改一次用戶,即添加或刪除,都需執行此命令來更新用戶數據庫
pure-pw mkdb
pure-pw list 是看用戶列表的
pure-pw show tony 查看tony這個用戶的詳細信息
pure-pw passwd tony -m 修改tony的密碼
pure-pw usermod 修改用戶
五 開啓服務
編譯安裝:
/usr/local/sbin/pure-ftpd /etc/pure-ftpd.conf &
系統安裝:
service pure-ftpd start
有問題記得查看日誌進行排錯,要能夠自己排錯。加油!