您好,登錄后才能下訂單哦!
1.安裝pureftp
#cd /usr/local/src/
#wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2
2.安裝pure-ftpd
#tar -jxvf pure-ftpd-1.0.42.tar.bz2
#cd pure-ftpd-1.0.42
#./configure --prefix=/usr/local/pure-ftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls
#echo $?
#make
#make install
3.配置pure-ftpd
#cd configuration-file
#mkdir -pv /usr/local/pure-ftpd/etc
#cp pure-ftpd.conf /usr/local/pure-ftpd/etc/pure-ftpd.conf //配置文件
#cp pure-config.pl /usr/local/pure-ftpd/sbin/pure-config.pl //啟動文件
#chmod 755 /usr/local/pure-ftpd/sbin/pure-config.pl //修改權限
在啟動pure-ftpd之前需要修改配置文件pure-ftpd.conf,
配置文件內容如下:
ChrootEveryone yes
BrokenClientsCompatibility no
MaxClientsNumber 50
MaxClientsCompatibility 50
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous no
SyslogFacility ftp
DontResolve yes
MaxIdleTime 15
PureDB /usr/local/pure-ftpd/etc/pureftpd.pdb
LimitRecursion 3136.8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload no
PIDFile /usr/local/pure-ftpd/var/run/pure-ftpd.pid
MaxDiskUsage 99
CustomerProof yes
配置千萬不要弄錯了,我之前自己打進去的,所以出現一些錯字,把pdb文件寫成了conf文件,所以一直連接不上,所以不要粗心哦
4.啟動pure-ftpd
#cd /usr/local/pure-ftpd/
#./sbin/pure-config.pl ./etc/pure-ftpd.conf
啟動成功會顯示下面信息:
Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.conf -m4 -s -U133:022 -u100 -g/usr/local/pure-ftpd/var/run/pure-ftpd.pid -k99 -Z
重啟:killall pure-ftpd
/usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf
也可以自己定義PATH環境變量,在/etc/profile.d/path.sh文件中定義:
[root@jinge ~]# pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf
Running: /usr/local/pure-ftpd/sbin/pure-ftpd -A -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.conf -m4 -s -U133:022 -u100 -g/usr/local/pure-ftpd/var/run/pure-ftpd.pid -k99 -Z
5.建立賬號
pure-ftpd使用的賬號并非Linux系統賬號,而是虛擬賬號,因為這樣做比較安全
#mkdir /jin/www
#useradd www //創建用戶www
#chown -R www:www /jin/www/ //修改用戶屬主和屬組
#usr/local/pure-ftpd/bin/pure-pw useradd ftp_user1 -uwww -d /jin/www/
(添加用戶命令:pure-pw
登錄FTP的用戶:ftp_user1
-u指定的用戶為:系統用戶
-d后面的目錄為:ftp_user1賬戶的家目錄,ftp_user1只能訪問其家目錄/jin/www/)
#/usr/local/pure-ftpd/bin/pure-pw mkdb //創建用戶信息數據庫文件
#/usr/local/pure-ftpd/bin/pure-pw list //列出當前的ftp賬號
#/usr/local/pure-ftpd/bin/pure-pw userdel ftp_user1 //刪除賬號
6.測試pure-ftpd
遠程連接測試(用另一臺機器做測試):
服務端ip(本機)為192.168.226.3
客戶端ip(遠程)為192.168.226.5
在客戶端機器中,測試需要使用到的工具是:lftp
安裝lftp:yum install -y lftp
測試:lftp ftp_user1@192.168.226.3
查看日志:cat /var/log/messages
查看lftp中的命令:?
下載文件到當前目錄:get 11.txt
在客戶端中創建文件,上傳到服務端中:
客戶端:
服務端:
問題1:
這時候如果登錄ftp會提示
421 Unable to read the indexed puredb file (or old format detected) - Try pure-pw mkdb
執行
#/usr/local/pureftpd/bin/pure-pw mkdb
再登錄,一切正常。執行這條命令是讓pureftpd根據/usr/loca/pureftpd/etc/pureftpd.passwd(這個文件是在執行pure-pw useradd的時候自動生成的)生成/usr/local/pureftpd/etc/pureftpd.pdb
到這里服務器已經可以正常運行了
再用pure-pw useradd添加另一個ftp帳號登錄,又提示“驗證失敗”,重啟pureftpd也不行,郁悶了好一會后找到原因:
執行pure-pw的命令后只是更改了pureftpd.passwd文件,必須執行pure-pw mkdb重新生成pureftpd.pdb才生效。
我說在剛接手的服務器上添加帳號不行呢,就是因為沒有執行pure-pw mkdb
如果出現錯誤,登錄不上,應該先去查看一下日志文件,看是什么錯誤: cat /var/log/messages
問題2:
我用兩臺虛擬機做實驗,
服務端:一臺搭建了pure-ftpd(192.168.226.4)服務,
客戶端:另一臺沒有搭建(192.168.226.6)該服務,
(1)在搭建了pure-ftpd服務的那臺虛擬機中,配置完配置文件后啟動
(2)沒搭建pure-ftpd服務的那臺虛擬機用于連接,連接需要用到的工具為lftp,如果沒有yum安裝一下,在該臺虛擬機上連接,lftp ftp_user1@192.168.226.4
進入之后,ls一下,一直說連接不上,那是什么問題呢?
故障檢查:
1.首先我在服務端中,查看cat /var/log/messages日志文件,看提示什么錯誤,不知道是什么問題,該日志中沒有pure-ftpd的日志(后面才知道)
2.檢查日志文件無果之后,我就去檢查配置文件有沒有配置錯誤,一個一個的檢查,不過我重點檢查的是.pdb文件有沒有生成,還有.pid文件有沒有生成
3.查看了配置文件之后,我就在命令行上輸入
cat /usr/local/pure-ftpd/etc/pureftpd.pdb 如果有,那就沒事
cat /usr/local/pure-ftpd/var/run/pure-ftpd.pid //回車之后說命令找不到,那么就是沒有這個文件啦,終于找到問題所在了,那么該如何去解決這個問題呢?
解決方法:我的方法就是直接創建/usr/local/pure-ftpd/var/run/pure-ftpd.pid
本來是沒有var目錄和run目錄的,所以你也要先創建目錄
4.重啟pure-ftpd服務
killall pure-ftpd //先殺死
/usr/local/pure-ftpd/sbin/pure-config.pl /usr/local/pure-ftpd/etc/pure-ftpd.conf //啟動
5.在客戶端上測試
測試發現,還是有錯
6.查看日志cat /var/log/messages
發現錯誤之后,查看日志,之前是沒有pure-ftpd的日志的,因為沒有生成pid文件,所以沒有日志。
現在查看日志,cat /var/log/messages,出來pure-ftpd的日志了,錯誤信息如下:
Dec 25 17:38:58 localhost pure-ftpd: (?@?) [ERROR] Unable to start a standalone server: [Address already in use]
Dec 25 17:41:08 localhost kernel: eth0: link down
Dec 25 17:41:20 localhost kernel: eth0: link up
Dec 25 17:41:34 localhost kernel: eth0: link down
Dec 25 17:41:44 localhost kernel: eth0: link up
Dec 25 17:46:20 localhost kernel: eth0: link down
Dec 25 17:46:30 localhost kernel: eth0: link up
發現這些信息之后,就開始排查了,上網查沒查到,之后就自己去嘗試,它說eth0有問題,又說地址被占用,那么我想可能是網絡的問題,于是我就在服務端和客戶端各輸入ifconfig,得到如下信息:
服務端:
[root@localhost pure-ftpd]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:E4:CC:70
inet addr:192.168.226.4 Bcast:192.168.226.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fee4:cc70/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7030 errors:0 dropped:0 overruns:0 frame:0
TX packets:5759 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1163332 (1.1 MiB) TX bytes:1440044 (1.3 MiB)
Interrupt:19 Base address:0x2000
客戶端:
[root@localhost opt]# ifconfig
eth2 Link encap:Ethernet HWaddr 00:0C:29:7B:C6:51
inet addr:192.168.226.6 Bcast:192.168.226.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe7b:c651/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3488 errors:0 dropped:0 overruns:0 frame:0
TX packets:2810 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1079817 (1.0 MiB) TX bytes:363778 (355.2 KiB)
Interrupt:19 Base address:0x2000
發現問題所在了,客戶端這邊的網卡顯示的是eth2,那么和這個到底有沒有關系呢?
于是,我又再開了一臺虛擬機,去連接服務端的pure-ftpd,果然是這個問題,在這臺虛擬機上顯示的網卡為eth0,所以,我覺得應該是網卡不匹配的原因,到此問題解決啦。
新開那臺虛擬機:
[root@jinge ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:A4:00:54
inet addr:192.168.226.3 Bcast:192.168.226.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea4:54/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39 errors:0 dropped:0 overruns:0 frame:0
TX packets:51 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5374 (5.2 KiB) TX bytes:6162 (6.0 KiB)
Interrupt:19 Base address:0x2000
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。