純屬轉載-原地址:https://www.cnblogs.com/lixiuran/p/4996358.html
http://www.ttlsa.com/linux/how-to-install-pureftpd/
看了這篇文章[幾個小坑]總結如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
===============
工作中總會離不開FTP,這些年一直習慣用pureftp,很久沒安裝,找到以前寫的文檔,這次順便把文檔整到ttlsa裏,以後可以參考。以前自己寫文檔確實很囉嗦。
準備pureftp
1 2 3 |
#cd /usr/local/src/ #wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.gz #tar –xzvf pure-ftpd-1.0.22.tar.gz |
編譯和安裝
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#cd pure-ftpd-1.0.22 #.configure \ –prefix=/usr/local/pureftpd \ //pureftpd安裝目錄 –with-everything \ //安裝幾乎所有的功能,包括altlog、cookies、throttling、ratios、ftpwho、upload script、virtual users(puredb)、quotas、virtual hosts、directory aliases、external authentication、Bonjour、privilege separation本次安裝只使用這個選項。 --with-cookie \ //當用戶登錄時顯示指定的橫幅 --with-diraliases \ //支持目錄別名,用快捷方式代cd命令 --with-extauth \ //編譯支持擴展驗證的模塊,大多數用戶不使用這個選項 --with-ftpwho \ //支持pure-ftpwho命令,啓用這個功能需要更多的額外內存 --with-language=english \ //修改服務器語言,默認是英文,如果你要做修改,請翻譯‘src/messages_en.h’文件 --with-ldap \ //LADP目錄支持,需要安裝openldap --with-minimal \ //FTP最小安裝,最基本的功能 --with-mysql \ //MySQL支持,如果MySQL安裝在自定義目錄上,你需要使用命令—with-mysql=/usr/local/mysq這類 --with-nonroot \ //不需要root用戶就可以啓動服務 #make #make install |
安裝配置文件
1 2 3 4 5 6 7 8 9 10 |
#cd /usr/local/src/pure-ftpd-1.0.22 //切換到源碼目錄 #cd configuration-files //切換到這個目錄 #chmod 755 pure-config.pl //讓用戶有完全權限(因爲默認沒有執行權限) #cp pure-config-pl /usr/local/pureftpd/bin //把執行文件複製到bin目錄下 #mkdir /usr/local/pureftpd/etc //新建FTP的配置文件夾目錄 #cp pure-ftpd.conf /usr/local/pureftpd/etc //複製ftp配置文件到etc中 #cd .. //切換到/pure-ftpd-1.0.22目錄中 #cp pureftpd-ldap.conf /usr/local/pureftpd/etc //相關配置文件複製到etc中 #cp pureftpd-mysql.conf /usr/local/pureftpd/etc //相關配置文件複製到etc中 #cp pureftpd-pgsql.conf /usr/local/pureftpd/etc //相關配置文件複製到etc中 |
pure-ftpd.conf配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
ChrootEveryone yes //鎖定所有用戶到家目錄中 # TrustedGID 100 //信任組ID100,可以不鎖定 MaxClientsNumber 50 //最大的客戶端數量 MaxClientsPerIP 8 //同一個IP允許8個鏈接 DisplayDotFiles no //不顯示隱藏文件 AnonymousOnly no //只允許匿名用戶 NoAnonymous yes//不允許匿名用戶 DontResolve yes //禁止反向解析 MaxIdleTime 10 //最大空閒10分鐘 # LDAPConfigFile /etc/pureftpd-ldap.conf //LDAP配置文件目錄 # MySQLConfigFile /etc/pureftpd-mysql.conf//MySQL配置文件目錄 # PGSQLConfigFile /etc/pureftpd-pgsql.conf //PGSQL配置文件目錄 PureDB /usr/local/pureftpd/etc/pureftpd.pdb //虛擬用戶數據庫 # UnixAuthentication yes //主機認證 LimitRecursion 2000 8 //別表最大顯示2000個文件,最深8個目錄 AnonymousCanCreateDirs no //是否允許匿名用戶創建目錄 #MaxLoad 4 //最多可下載的數量 # PassivePortRange 30000 50000 //主動連接的端口範圍 ForcePassiveIP 192.168.0.1 //這個地址總是直到匿名目錄 # AnonymousRatio 1 10 //匿名用戶上傳下載速度比率 # UserRatio 1 10 //用戶上傳下載速度比率 # Bind 127.0.0.1,21 //綁定IP和端口 # AnonymousBandwidth 8 //匿名用戶帶寬8KB # UserBandwidth 8 //用戶帶寬8KB Umask 133:022 //文件和目錄的umask MinUID 1000 //用戶ID至少要大於1000才能登陸 AllowUserFXP no //是否允許用戶使用FXP協議登陸 AllowAnonymousFXP no //是否允許匿名用戶使用FXP協議 ProhibitDotFilesWrite no //是否允許寫入點文件 ProhibitDotFilesRead no //是否允許讀取點文件 AnonymousCantUpload yes //不允許匿名用戶上傳 #NoChmod yes //不允許用戶改變權限 #KeepAllFiles yes //允許用戶斷點續傳 #Quota 1000:10//磁盤配額 #MaxDiskUsage 99 //磁盤的最大利用率 #NoRename yes //不允許自動重命名 IPV4Only yes //只允許使用IPV4協議 |
新建虛擬用戶
注意:新建虛擬用戶之前需要創建一個組合用戶(屬於操作系統上的)。
1 2 3 4 5 6 7 |
#groupadd ftpgroup //新建系統組 #useradd –g ftpgroup –d /dev/null –s /sbin/nologin ftpuser //新建用戶加入ftpgroup中 #cd /usr/local/pureftpd/bin //切換到bin目錄中 #./pure-pw useradd puser –u ftpuser –d /www/ftptest –m //pure-pw useradd 虛擬用戶名 –u 寄生到系統用戶名 –d FTP目錄 –m(把用戶密碼加入PDB數據庫中,不需要重啓FTP) #cd /www //切換到WWW中 #chmod –R ftpuser:ftpgroup ftptest //把FTP目錄的所屬用戶和組改爲虛擬用戶所依託的系統用戶和組 |
啓動測試
1 2 |
#/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -E -fftp -H -I10 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L2000:8 -s -U133:022 -u1000 -i -Z -4 |
注:如果出現running說明啓動成功。
接下來ftP連接進行測試