安裝vsftpd組件,安裝完後,有/etc/vsftpd/vsftpd.conf 文件,用來配置,還有新建了一個ftp用戶和ftp的組,指向home目錄爲/var/ftp,默認是nologin“?……
1.安裝vsftpd組件,安裝完後,有/etc/vsftpd/vsftpd.conf 文件,用來配置,還有新建了一個ftp用戶和ftp的組,指向home目錄爲/var/ftp,默認是nologin(不能登錄系統)
- yum -y install vsftpd
可以用下面命令查看用戶
cat /etc/passwd
默認ftp服務是沒有啓動的,用下面命令啓動
service vsftpd start
2.安裝ftp客戶端組件(用來驗證是否vsftpd)
yum -y install ftp
執行命令嘗試登錄
ftp localhost
輸入用戶名ftp,密碼隨便(因爲默認是允許匿名的)
登錄成功,就代表ftp服務可用了。
但是,外網是訪問不了的,所以還要繼續配置。
3.取消匿名登陸
vi /etc/vsftpd/vsftpd.conf
把第一行的 anonymous_enable=YES ,改爲NO
重啓
service vsftpd restart
4.新建一個用戶(ftpuser爲用戶名,隨便就可以)
useradd ftpuser
修改密碼(輸入兩次)
passwd ftpuser
這樣一個用戶建完,可以用這個登錄,記得用普通登錄不要用匿名了。登錄後默認的路徑爲 /home/ftpuser.
5.開放21端口
因爲ftp默認的端口爲21,而centos默認是沒有開啓的,所以要修改iptables文件
vi /etc/sysconfig/iptables
在行上面有22 -j ACCEPT 下面另起一行輸入跟那行差不多的,只是把22換成21,然後:wq保存。
還要運行下,重啓iptables
service iptables restart
外網是可以訪問上去了,可是發現沒法返回目錄,也上傳不了,因爲selinux作怪了。
6.修改selinux
getsebool -a | grep ftp
執行上面命令,再返回的結果看到兩行都是off,代表,沒有開啓外網的訪問
....
allow_ftpd_full_access off
....
....
ftp_home_dir off
只要把上面都變成on就行
執行
setsebool -P allow_ftpd_full_access 1
setsebool -P ftp_home_dir off 1
再重啓一下vsftpd
service vsftpd restart
這樣應該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示Entering Passive mode,就代表是passive模式,默認是不行的,因爲ftp passive模式被iptables擋住了,下面會講怎麼開啓,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果客戶端還是不行,看看客戶端上的主機的電腦是否開了防火牆,關吧)
7.開啓passive模式
默認是開啓的,但是要指定一個端口範圍,打開vsftpd.conf文件,在後面加上
- pasv_min_port=30000
- pasv_max_port=30999
表示端口範圍爲30000~30999,這個可以隨意改。
改完重啓一下vsftpd
由於指定這段端口範圍,iptables也要相應的開啓這個範圍,所以像上面那樣打開iptables文件
也是在21上下面另起一行,更那行差不多,只是把21 改爲30000:30999,然後:wq保存,重啓下iptables。這樣就搞定了。