快速搭建FTP服務(wù)器
一:安裝vsftpd
查看是否已經(jīng)安裝vsftpd
rpm -qa | grep vsftpd
若安裝了vsftp洪囤,使用這個(gè)命令會(huì)在屏幕上顯示vsftpd的版本
使用命令rpm -e vsftpd 即可卸載ftp
再使用rpm -qa|grep vsftpd 查看系統(tǒng)是否已刪除ftp彬祖,若刪除成功基公,屏幕上
如果沒有,就安裝眯分,并設(shè)置開機(jī)啟動(dòng)
yum -y install vsftpd
chkconfig vsftpd on
二比勉、配置防火墻
- centos6的方式
打開/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代碼,就是把前面的復(fù)制一行改一下端口號(hào)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和關(guān)閉文件琼锋,重啟防火墻
service iptables restart - centos7的方式
firewall-cmd --zone=public --add-port=21/tcp --permanent
重啟防火墻
firewall-cmd --reload
三、配置vsftpd服務(wù)器
默認(rèn)的配置文件是/etc/vsftpd/vsftpd.conf循捺,你可以用文本編輯器打開斩例。
vi /etc/vsftpd/vsftpd.conf
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
改為
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
順便一提
在/etc/vsftpd/vsftpd.conf配置文件中
write_enable=yes,
anon_upload_enable=yes,
anon_mkdir_wirte_enable=yes,
這三個(gè)條件讓匿名用戶和虛擬用戶具有可以上傳的權(quán)限雄人。
四从橘、添加ftp用戶并賦權(quán)限
- 添加ftpuser用戶,設(shè)置根目錄為/home/ftpuser,禁止此用戶登錄SSH的權(quán)限础钠,并限制其訪問其它目錄恰力。
useradd -d /home/data -g ftp -s /sbin/nologin ftpuser - 設(shè)置用戶口令
passwd ftpuser - 賦予用戶文件夾權(quán)限
chown ftpuser:root /home/data
chmod -R 775 /home/data
五、編輯文件chroot_list:
vi /etc/vsftpd/chroot_list
內(nèi)容為ftp用戶名,每個(gè)用戶占一行,如:
peter
john
設(shè)置ftp權(quán)限
setsebool -P allow_ftpd_full_access 1
六旗吁、重新啟動(dòng)vsftpd
- centos6
service vsftpd restart - centos7
systemctl restart vsftpd
七踩萎、連接過程中可能會(huì)出現(xiàn)的錯(cuò)誤
1、500 OOPS: cannot change directory:/home/**
解決方法:
在終端輸入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了很钓!
原因:這是因?yàn)榉?wù)器開啟了selinux香府,這限制了FTP的登錄。
如果提示
#setsebool -P ftpd_disable_trans 1
Boolean ftpd_disable_trans is not defined
則查詢selinux
setsebool -P ftp_home_dir 1
再重啟vsftpd服務(wù)就行了
service vsftpd restart
B刖搿F蠛ⅰ!袁稽!請(qǐng)注意N鹆А!!补疑!
如果你用工具連接連不上歧沪,或者連上只能下載不能上傳,或者以前能連上現(xiàn)在連不上##了A椤U锇!P脖唷厢钧!報(bào)這個(gè)錯(cuò)227 Entering Passive Mode!f页取T缰薄!J锌颉霞扬!
很大可能是因?yàn)檫B接工具連接ftp服務(wù)器分為主動(dòng)模式和被動(dòng)模式
詳情如下
原來FTP有兩種工作模式,PORT方式和PASV方式枫振,中文意思為主動(dòng)式和被動(dòng)式 喻圃,詳細(xì)介紹如下:
主動(dòng) FTP :
命令連接:客戶端 >1024 端口 → 服務(wù)器 21 端口
數(shù)據(jù)連接:客戶端 >1024 端口 ← 服務(wù)器 20 端口
被動(dòng) FTP :
命令連接:客戶端 >1024 端口 → 服務(wù)器 21 端口
數(shù)據(jù)連接:客戶端 >1024 端口 ← 服務(wù)器 >1024 端口
PORT(主動(dòng))方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請(qǐng)求,服務(wù)器接受連接粪滤,建立一條命令鏈路斧拍。當(dāng)需要傳送數(shù)據(jù)時(shí), 客戶端在命令鏈路上用PORT命令告訴服務(wù)器:“我打開了***X端口杖小,你過來連接我”肆汹。于是服務(wù)器從20端口向客戶端的***X端口發(fā)送連接請(qǐng)求,建立 一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)予权。
PASV(被動(dòng))方式的連接過程是:客戶端向服務(wù)器的FTP端口(默認(rèn)是21)發(fā)送連接請(qǐng)求昂勉,服務(wù)器接受連接,建立一條命令鏈路扫腺。當(dāng)需要傳送數(shù)據(jù)時(shí)岗照, 服務(wù)器在命令鏈路上用PASV命令告訴客戶端:“我打開了***X端口,你過來連接我”笆环。于是客戶端向服務(wù)器的***X端口發(fā)送連接請(qǐng)求攒至,建立一條數(shù)據(jù)鏈 路來傳送數(shù)據(jù)。
由于我的本地FTP服務(wù)器在內(nèi)網(wǎng)躁劣,只是從外網(wǎng)映射了兩個(gè)端口(20迫吐,21),所以無(wú)法使用PASV方式习绢,解決此問題的辦法也很簡(jiǎn)單渠抹,關(guān)閉客戶端的PASV方式蝙昙,強(qiáng)制其用PORT方式訪問服務(wù)器,登錄FTP服務(wù)器后用passive命令關(guān)閉客戶端的PASV方式梧却,如下:
ftp> passive
Passive mode off.
ftp> passive (再次運(yùn)行命令可打開)
Passive mode on.
用工具的話只要
或者
understand奇颠??放航?烈拒??广鳍?荆几??赊时?吨铸?他妹的折騰我好久!W婷搿5ā!