如果你想在你的Linux/Unix服務(wù)器上搭建一個(gè)安全、高性能、穩(wěn)定性好的FTP服務(wù)器,那么vsftpd可能是你的首選應(yīng)用。vsftpd意思為“very secure FTP daemon(非常安全的FTP進(jìn)程)”,是一個(gè)基于GPL發(fā)布的類(lèi)UNIX類(lèi)操作系統(tǒng)上運(yùn)行的服務(wù)器的名字(是一種守護(hù)進(jìn)程),可以運(yùn)行在諸如Linux、BSD、Solaris、HP-UX以及Irix等系統(tǒng)上面。vsftpd支持很多其他傳統(tǒng)的FTP服務(wù)器不支持的良好特性。
本文講解如何使用Yum安裝Vsftpd,以Censtos6.5 32位系統(tǒng)為例
1.查看是否安裝vsftp
rpm -qa | grep vsftpd
如果出現(xiàn)vsftpd-x.x.x-21.el6.i686,說(shuō)明已經(jīng)安裝vsftp
2.安裝vsftp
yum -y install vsftpd
3.啟動(dòng)vsftp
service vsftp start
4.配置vsftpd
編輯vsftpd配置文件vi /etc/vsftpd/vsftpd.conf (需要添加的參數(shù)直接添加到vsftp.conf后面,然后:wq保存退出,重啟vsftp服務(wù))
#########核心設(shè)置###########
#允許本地用戶(hù)登錄
local_enable=YES
#本地用戶(hù)的寫(xiě)權(quán)限
write_enable=YES
#使用FTP的本地文件權(quán)限,默認(rèn)為077
#一般設(shè)置為022
local_umask=022
#切換目錄時(shí)
#是否顯示目錄下.message的內(nèi)容
dirmessage_enable=YES
dirlist_enable=NO
#驗(yàn)證方式
#pam_service_name=vsftpd
#啟用FTP數(shù)據(jù)端口的數(shù)據(jù)連接
connect_from_port_20=YES
#以獨(dú)立的FTP服務(wù)運(yùn)行
listen=yes
#修改連接端口
#listen_port=32121
#########匿名登錄設(shè)置###########
#允許匿名登錄
anonymous_enable=NO
#如果允許匿名登錄
#是否開(kāi)啟匿名上傳權(quán)限
#anon_upload_enable=YES
#如果允許匿名登錄
#是否允許匿名建立文件夾并在文件夾內(nèi)上傳文件
#anon_mkdir_write_enable=YES
#如果允許匿名登錄
#匿名帳號(hào)可以有刪除的權(quán)限
#anon_other_write_enable=yes
#如果允許匿名登錄
#匿名的下載權(quán)限
#匿名為Other,可設(shè)置目錄/文件屬性控制
#anon_world_readable_only=no
#如果允許匿名登錄
#限制匿名用戶(hù)傳輸速率,單位bite
#anon_max_rate=30000
#########用戶(hù)限制設(shè)置###########
####限制登錄
#用userlist來(lái)限制用戶(hù)訪問(wèn)
#userlist_enable=yes
#名單中的人不允許訪問(wèn)
#userlist_deny=no
#限制名單文件放置的路徑
#userlist_file=/etc/vsftpd/userlist_deny.chroot
######限制目錄
#限制所有用戶(hù)都在家目錄
chroot_local_user=yes
#調(diào)用限制在家目錄的用戶(hù)名單
chroot_list_enable=YES
#限制在家目錄的用戶(hù)名單所在路徑
chroot_list_file=/etc/vsftpd/chroot_list
#########日志設(shè)置###########
#日志文件路徑設(shè)置
xferlog_file=/var/log/vsftpd.log
#激活上傳/下載的日志
xferlog_enable=YES
#使用標(biāo)準(zhǔn)的日志格式
#xferlog_std_format=YES
#########安全設(shè)置###########
#用戶(hù)空閑超時(shí),單位秒
#idle_session_timeout=600
#數(shù)據(jù)連接空閑超時(shí),單位秒
#data_connection_timeout=120
#將客戶(hù)端空閑1分鐘后斷開(kāi)
#accept_timeout=60
#中斷1分鐘后重新連接
#connect_timeout=60
#本地用戶(hù)傳輸速率,單位bite
#local_max_rate=50000
#FTP的最大連接數(shù)
#max_clients=200
#每IP的最大連接數(shù)
#max_per_ip=5
#########被動(dòng)模式設(shè)置###########
#是否開(kāi)戶(hù)被動(dòng)模式
pasv_enable=yes
#被動(dòng)模式最小端口
pasv_min_port=20000
#被動(dòng)模式最大端口
pasv_max_port=30000
#########其他設(shè)置##############
#歡迎信息
ftpd_banner=WelcometoFtpServer!
5.添加防火墻規(guī)則
編輯vi /etc/sysconfig/iptables添加下面規(guī)則:
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT (默認(rèn)為21,更改過(guò)端口就和vsftpd.conf里面的listen_port端口一致)
-A INPUT -p tcp -m tcp --dport 20000:30000 -j ACCEPT (被動(dòng)端口和vsftp.conf里面的一致,沒(méi)有設(shè)置被動(dòng)端口的可以不添加)
重啟防火墻/etc/init.d/iptables restart
6.添加ftp用戶(hù)(禁止遠(yuǎn)程登錄)
useradd -g www -d /wwwroot/discuz -s /sbin/nologin atang(用戶(hù)登錄指向/wwwroot/discuz目錄所屬組為www 用戶(hù)名atang禁止遠(yuǎn)程登錄)
passwd atang (設(shè)置密碼)
重啟vsftpd服務(wù) /etc/init.d/vsftpd restart
注:如果登錄以后無(wú)法上傳文件,請(qǐng)把根目錄設(shè)置為777再試試(不行再關(guān)閉selinux)chmod 777 discuz
7.查看誰(shuí)登陸了FTP,并殺死它的進(jìn)程
ps -xf | grep ftp
kill進(jìn)程號(hào)