如果你想在你的Linux/Unix服務器上搭建一個安全、高性能、穩定性好的FTP服務器,那么vsftpd可能是你的首選應用。vsftpd意思為“very secure FTP daemon(非常安全的FTP進程)”,是一個基于GPL發布的類UNIX類操作系統上運行的服務器的名字(是一種守護進程),可以運行在諸如Linux、BSD、Solaris、HP-UX以及Irix等系統上面。vsftpd支持很多其他傳統的FTP服務器不支持的良好特性。
本文講解如何使用Yum安裝Vsftpd,以Censtos6.5 32位系統為例
1.查看是否安裝vsftp
rpm -qa | grep vsftpd
如果出現vsftpd-x.x.x-21.el6.i686,說明已經安裝vsftp
2.安裝vsftp
yum -y install vsftpd
3.啟動vsftp
service vsftp start
4.配置vsftpd
編輯vsftpd配置文件vi /etc/vsftpd/vsftpd.conf (需要添加的參數直接添加到vsftp.conf后面,然后:wq保存退出,重啟vsftp服務)

#########核心設置###########
#允許本地用戶登錄
local_enable=YES
#本地用戶的寫權限
write_enable=YES
#使用FTP的本地文件權限,默認為077
#一般設置為022
local_umask=022
#切換目錄時
#是否顯示目錄下.message的內容
dirmessage_enable=YES
dirlist_enable=NO
#驗證方式
#pam_service_name=vsftpd
#啟用FTP數據端口的數據連接
connect_from_port_20=YES
#以獨立的FTP服務運行
listen=yes
#修改連接端口
#listen_port=32121
#########匿名登錄設置###########
#允許匿名登錄
anonymous_enable=NO
#如果允許匿名登錄
#是否開啟匿名上傳權限
#anon_upload_enable=YES
#如果允許匿名登錄
#是否允許匿名建立文件夾并在文件夾內上傳文件
#anon_mkdir_write_enable=YES
#如果允許匿名登錄
#匿名帳號可以有刪除的權限
#anon_other_write_enable=yes
#如果允許匿名登錄
#匿名的下載權限
#匿名為Other,可設置目錄/文件屬性控制
#anon_world_readable_only=no
#如果允許匿名登錄
#限制匿名用戶傳輸速率,單位bite
#anon_max_rate=30000
#########用戶限制設置###########
####限制登錄
#用userlist來限制用戶訪問
#userlist_enable=yes
#名單中的人不允許訪問
#userlist_deny=no
#限制名單文件放置的路徑
#userlist_file=/etc/vsftpd/userlist_deny.chroot
######限制目錄
#限制所有用戶都在家目錄
chroot_local_user=yes
#調用限制在家目錄的用戶名單
chroot_list_enable=YES
#限制在家目錄的用戶名單所在路徑
chroot_list_file=/etc/vsftpd/chroot_list
#########日志設置###########
#日志文件路徑設置
xferlog_file=/var/log/vsftpd.log
#激活上傳/下載的日志
xferlog_enable=YES
#使用標準的日志格式
#xferlog_std_format=YES
#########安全設置###########
#用戶空閑超時,單位秒
#idle_session_timeout=600
#數據連接空閑超時,單位秒
#data_connection_timeout=120
#將客戶端空閑1分鐘后斷開
#accept_timeout=60
#中斷1分鐘后重新連接
#connect_timeout=60
#本地用戶傳輸速率,單位bite
#local_max_rate=50000
#FTP的最大連接數
#max_clients=200
#每IP的最大連接數
#max_per_ip=5
#########被動模式設置###########
#是否開戶被動模式
pasv_enable=yes
#被動模式最小端口
pasv_min_port=20000
#被動模式最大端口
pasv_max_port=30000
#########其他設置##############
#歡迎信息
ftpd_banner=WelcometoFtpServer!
5.添加防火墻規則
編輯vi /etc/sysconfig/iptables添加下面規則:
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT (默認為21,更改過端口就和vsftpd.conf里面的listen_port端口一致)
-A INPUT -p tcp -m tcp --dport 20000:30000 -j ACCEPT (被動端口和vsftp.conf里面的一致,沒有設置被動端口的可以不添加)
重啟防火墻/etc/init.d/iptables restart

6.添加ftp用戶(禁止遠程登錄)
useradd -g www -d /wwwroot/discuz -s /sbin/nologin atang(用戶登錄指向/wwwroot/discuz目錄所屬組為www 用戶名atang禁止遠程登錄)
passwd atang (設置密碼)
重啟vsftpd服務 /etc/init.d/vsftpd restart
注:如果登錄以后無法上傳文件,請把根目錄設置為777再試試(不行再關閉selinux)chmod 777 discuz

7.查看誰登陸了FTP,并殺死它的進程
ps -xf | grep ftp
kill進程號


