1、安裝vsftpd組件
yum -y install vsftpd
安裝完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。
2、添加一個(gè)ftp用戶
useradd ftpuser
此用戶就是用來登錄ftp服務(wù)器用的。這一個(gè)用戶建完,可以用這個(gè)登錄,記得用普通登錄不要用匿名了。登錄后默認(rèn)的路徑為 /home/ftpuser.
3、給ftp用戶添加密碼
passwd ftpuser
輸入兩次密碼后修改密碼。
4、防火墻開啟21端口
vi /etc/sysconfig/iptables #編輯防火墻配置文件
添加一下代碼
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
:wq! #保存退出
service iptables restart #重啟iptables
5、修改selinux
外網(wǎng)是可以訪問上去了,可是發(fā)現(xiàn)沒法返回目錄(使用ftp的主動(dòng)模式,被動(dòng)模式還是無法訪問),也上傳不了,因?yàn)閟elinux作怪了。
修改selinux:
執(zhí)行以下命令查看狀態(tài):
getsebool -a | grep ftp
allow_ftpd_anon_write –> off allow_ftpd_full_access –> off allow_ftpd_use_cifs –> off allow_ftpd_use_nfs –> off ftp_home_dir –> off ftpd_connect_db –> off ftpd_use_passive_mode –> off httpd_enable_ftp_server –> off tftp_anon_write –> off |
執(zhí)行上面命令,再返回的結(jié)果看到兩行都是off,代表,沒有開啟外網(wǎng)的訪問
setsebool -P allow_ftpd_full_access on
setsebool -P ftp_home_dir on
這樣應(yīng)該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示Entering Passive mode,就代表是passive模式,默認(rèn)是不行的,因?yàn)閒tp passive模式被iptables擋住了,下面會(huì)講怎么開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項(xiàng),或者把passive模式的選項(xiàng)去掉。如果客戶端還是不行,看看客戶端上的主機(jī)的電腦是否開了防火墻,關(guān)吧)
FileZilla的主動(dòng)、被動(dòng)模式修改:
菜單:編輯→設(shè)置
6、關(guān)閉匿名訪問
修改/etc/vsftpd/vsftpd.conf文件:vi /etc/vsftpd/vsftpd.conf
重啟ftp服務(wù):service vsftpd restart
7、開啟被動(dòng)模式
默認(rèn)是開啟的,但是要指定一個(gè)端口范圍,打開vsftpd.conf文件,在后面加上
pasv_min_port=30000
pasv_max_port=30999
表示端口范圍為30000~30999,這個(gè)可以隨意改。改完重啟一下vsftpd
由于指定這段端口范圍,iptables也要相應(yīng)的開啟這個(gè)范圍,所以像上面那樣打開iptables文件。
也是在21上下面另起一行,更那行差不多,只是把21 改為30000:30999,然后:wq保存,重啟下iptables。這樣就搞定了。
與第4步一樣
8、設(shè)置開機(jī)啟動(dòng)vsftpd ftp服務(wù)
chkconfig vsftpd on