centos啟用ftp功能
1.安裝vsftpd組件,安裝完后,有/etc/vsftpd/vsftpd.conf 文件,用來配置,還有新建了一個(gè)ftp用戶和ftp的組,指向home目錄為/var/ftp,默認(rèn)是nologin(不能登錄系統(tǒng))
- yum -y install vsftpd
可以用下面命令查看用戶
cat /etc/passwd
默認(rèn)ftp服務(wù)是沒有啟動(dòng)的,用下面命令啟動(dòng)
service vsftpd start
2.安裝ftp客戶端組件(用來驗(yàn)證是否vsftpd)
yum -y install ftp
執(zhí)行命令嘗試登錄
ftp localhost
輸入用戶名ftp,密碼隨便(因?yàn)槟J(rèn)是允許匿名的)
登錄成功,就代表ftp服務(wù)可用了。
但是,外網(wǎng)是訪問不了的,所以還要繼續(xù)配置。
3.取消匿名登陸
vi /etc/vsftpd/vsftpd.conf
把第一行的 anonymous_enable=YES ,改為NO
重啟
service vsftpd restart
4.新建一個(gè)用戶(ftpuser為用戶名,隨便就可以)
useradd ftpuser
修改密碼(輸入兩次)
passwd ftpuser
這樣一個(gè)用戶建完,可以用這個(gè)登錄,記得用普通登錄不要用匿名了。登錄后默認(rèn)的路徑為 /home/ftpuser.
5.開放21端口
因?yàn)閒tp默認(rèn)的端口為21,而centos默認(rèn)是沒有開啟的,所以要修改iptables文件
vi /etc/sysconfig/iptables
在行上面有22 -j ACCEPT 下面另起一行輸入跟那行差不多的,只是把22換成21,然后:wq保存。
還要運(yùn)行下,重啟iptables
service iptables restart
外網(wǎng)是可以訪問上去了,可是發(fā)現(xiàn)沒法返回目錄,也上傳不了,因?yàn)閟elinux作怪了。
6.修改selinux
getsebool -a | grep ftp
執(zhí)行上面命令,再返回的結(jié)果看到兩行都是off,代表,沒有開啟外網(wǎng)的訪問
....
allow_ftpd_full_access off
....
....
ftp_home_dir off
只要把上面都變成on就行
執(zhí)行
setsebool -P allow_ftpd_full_access 1
setsebool -P ftp_home_dir off 1
再重啟一下vsftpd
service vsftpd restart
這樣應(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)吧)
7.開啟passive模式
默認(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。這樣就搞定了。