CentOS 6.7 FTP安装配置之pure-ftpd
?
FTP?是File TransferProtocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基于不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。
?
這里使用pure-ftpd部署ftp的服務,其官網是:http://www.pureftpd.org/?他的特點是:輕量的、可以使用虛擬用戶,安全性很好。
?
服務端:balichvm(192.168.171.51)
pure-ftp版本:1.0.42,下載地址:http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.gz
?
安裝步驟:
1)、下載,解壓pure-ftp安裝包。
[root@balichvm src]# wgethttp://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.gz
[root@balichvm src]# tar -zxvfpure-ftpd-1.0.42.tar.gz
?
2)、配置編譯(configure)參數、編譯(make)、安裝(makeinstall)
[root@balichvm pure-ftpd-1.0.42]#./configur
configuration-file/ configure??????????
[root@balichvm pure-ftpd-1.0.42]#./configure \
> --prefix=/usr/local/pureftpd \
> --without-inetd \
> --with-altlog \
> --with-puredb \
> --with-throttling \
> --with-peruserlimits \
> --with-tls
[root@balichvm pure-ftpd-1.0.42]# make&& make install
?
3)、拷貝pure-ftpd的配置文件,需要從源碼包的文件中拷貝;拷貝啟動文件;操作步驟如下:
[root@balichvm src]# mkdir/usr/local/pureftpd/etc??????????????????????? #創建etc目錄
[root@balichvm src]# pwd
/usr/local/src/
[root@balichvm src]# cp pure-ftpd-1.0.42/configuration-file/pure-ftpd.conf/usr/local/pureftpd/etc/
[root@balichvm src]# cppure-ftpd-1.0.42/configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
[root@balichvm src]# chmod 755/usr/local/pureftpd/sbin/pureconfig.pl ? #修改權限
?
?
4)、編輯pure-ftpd.conf配置文件,里面的配置信息還是比較多的,修改如下的配置:
[root@balichvm src]# vim/usr/local/pureftpd/etc/pure-ftpd.conf
ChrootEveryone ? ? ? ? ? yes ? ? ?#將用戶限定在各自的家目錄
BrokenClientsCompatibility ? ?no ? ? #兼容不同的客戶端
MaxClientsNumber ? ? ? ? ?50 ? ? ?#最大的客戶端數量
Daemonize ? ? ? ? ? ? ? yes ? ? ? ?#后臺運行
MaxClientsPerIP ? ? ? ? ? 8 ? ? ? ? #每個ip最大連接數
VerboseLog ? ? ? ? ? ? ?no ? ? ? ?#記錄日志
DisplayDotFiles ? ? ? ? ? yes ? ? #顯示隱藏文件
AnonymousOnly ? ? ? ? ? ?no ? ? ? ?#匿名登錄
NoAnonymous ? ? ? ? ? ? no ? ? ? #不允許你們用戶
SyslogFacility ? ? ? ? ?ftp ? ? ?#日志在syslog中顯示ftp,none不顯示(記錄)
DontResolve ? ? ? ? ? ?yes ? ? ?#不進行客戶端DNS解析
MaxIdleTime ? ? ? ? ? 15 ? ? ? #最大空閑時間,單位為分鐘
PureDB ? /usr/local/pureftpd/etc/pureftpd.pdb ? ? #虛擬用戶數據庫
LimitRecursion ? ? ? ?3000 ?8 ? ? ?#最大顯示2000個文件、目錄為8層
AnonymousCanCreateDirs ? ?no ? ? ? #匿名用戶創建目錄
MaxLoad ? ? ? ? ? ? ?4 ? ? ?#超出負載后禁止下載
AntiWarez ? ? ? ? ?yes ? ? #禁止下載匿名用戶上傳但是未經驗證的文件
Umask ? ? ? ? 133:022 ? ? ?#創建文件/命令默認的umask
MinUID ? ? ? ? 100 ? ? ?#可以登錄系統的最小UID
AllowUserFXP ? ? no ? ? ?#使用fxp協議登錄
AllowAnonymousFXP ? ? ?no ? ?#匿名用戶使用fxp協議登錄
ProhibitDotFilesWrite ? ? no ? #是否可以刪除、寫入隱藏文件(點文件)
ProhibitDotFilesRead ? ? no ? ? #是否可以讀取隱藏文件
AutoRename ? ? ? ?no ? ? ? #由同名的文件自動重新命名
AnonymousCantUpload???????? no ? ? #匿名用戶是否可以上傳數據
AltLog ? ? ?clf:/usr/local/pureftpd/var/log/pureftpd.log ? #clf格式的日志文件和存放路徑
PIDFile ? ? ?/usr/local/pureftpd/var/run/pure-ftpd.pid ? #pid文件路徑
MaxDiskUsage ? ? ? ?99 ? ? ? ? #當磁盤使用量到達設定值不允許上傳
CustomerProof ? ? ?yes ? ? ? ? ? ? #防止命令誤操作
?
?
這些配置參數,在配置文件里面都有解析說明的。
?
?
5)、創建FTP的目錄和用戶映射的系統用戶的FTP的虛擬用戶
[root@balichvm src]# mkdir /data/pureftp ? ? ? ? ? ? ? ? ? ? ? #創建ftp目錄
[root@balichvm src]# useradd balichftp –s/sbin/nologin ? ? ? ? ? ? #創建系統用戶
[root@balichvm src]# chown -Rbalichftp:balichftp /data/pureftp/??????? #更改ftp目錄的所有者和所屬組
?
然后創建一個pure-ftpd的帳號,這個帳號是用來登錄ftp,而不能登錄系統,創建的命令是pure-pw,
格式:pure-pw ftp帳號????????? -u映射的系統帳號???????? -d ftp的共享目錄。
[root@balichvm src]#/usr/local/pureftpd/bin/pure-pw useradd userftp01 -ubalichftp -d /data/pureftp/
Password:
Enter it again:
[root@balichvm src]#
?
輸入兩次密碼,這個密碼是用來登錄ftp,用戶是userftp01。
?
[root@balichvm src]#/usr/local/pureftpd/bin/pure-pw mkdb???????????????? #創建密碼庫文件
?
創建密碼庫文件后在我們配置文件指定的路徑生成密碼文件
?
6)、啟動pureFTPd服務,需要使用我們在前面拷貝的啟動腳本和修改后的配置文件
[root@balichvm src]# /usr/local/pureftpd/sbin/pure-config.pl/usr/local/pureftpd/etc/pure-ftpd.conf
Running: /usr/local/pureftpd/sbin/pure-ftpd-A -c50 -B -C8 -D -fftp -H -I15 -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb -L3000:8-m4 -s -U133:022 -u100 -Oclf:/usr/local/pureftpd/var/log/pureftpd.log-g/var/run/pure-ftpd.pid -k99 -Z
[root@balichvm src]#
?
有Running表示已經運行了,也可以使用ps查看進程,使用netstat查看端口是否已經開啟21
如果需要開機啟動可以把條命令放到/etc/init.d/rc.local
?
7)、添加iptables防火墻規則,放行ftp服務
[root@balichvm src]# vim/etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp--dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 20 -j ACCEPT
?
同時需要在/etc/sysconfig/iptables-config?文件上修改如如下:
IPTABLES_MODULES="ip_conntrack_netbios_nsip_conntrack_ftp ip_nat_ftp"
?
如果不修改/etc/sysconfig/iptables-config?,會無法讀取目錄列表。
?
[root@balichvm src]#/etc/init.d/iptables? restart ? ?#重啟防火墻服務
iptables:將鏈設置為政策?ACCEPT:filter??????????????????? [確定]
iptables:清除防火墻規則:? ? ? ? ? ? ? ? ? [確定]
iptables:正在卸載模塊:? ? ? ? ? ? ? ? ? ? [確定]
iptables:應用防火墻規則:? ? ? ? ? ? ? ? ? ?[確定]
iptables:載入額外模塊:ip_conntrack_netbios_nsip_conntrac[確定]ip_nat_ftp
?
到此,ftp的安裝已經完成,但是這是基于用戶登錄的,如果需要開放匿名用戶登錄,修改配置文件后重啟服務即可。
?
補充說明::
pure-ftpd的pure-pw常用命令選項:
purw-pw useradd ftpuser –u systemuser –dftpdir ? ? #創建ftp用戶并指定ftp的目錄
?
更改用戶信息
虛擬用戶創建之后,可以通過pure-pw命令來修改其相關的信息,如限制下載
帶寬、磁盤配額、用戶全名、下載上傳率等等
例如:我要修改用戶balich的最大文件數為1000個,大小為10MB,命令如下:
# pure-pw usermod balich ?-n 1000 -N 10
?
刪除用戶
使用pure-pw userdel?命令可以刪除一個已經存在的用戶
pure-pw userdel <login> [-f<passwd file>] [-m]
如:pure-pw userdel balich
?
更改密碼
更改用戶密碼的命令
# pure-pw passwd <login> [-f<passwd file>] [-m]
?
查看用戶信息,如查看balich.
# pure-pw show balich
?
?
本文轉自 巴利奇 51CTO博客,原文鏈接:http://blog.51cto.com/balich/1710225
總結
以上是生活随笔為你收集整理的CentOS 6.7 FTP安装配置之pure-ftpd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小试牛刀(1)简单实现用户添加和登录(文
- 下一篇: Spark 简介