安裝 vsftpd

yum -y instll vsftpd
 

關閉匿名使用者登入

vi /etc/vsftpd/vsftpd.conf
修改項:
anonymous_enable=NO  //預設為 YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES  //後 2 項預設是登出的, 不用更改
儲存退出後, 重啓 vsftpd 服務
service vsftpd restart
 

建立一個系統使用者來登陸 ftp

useradd – g ftp -s /sbin/nologin test //限定 test 使用者不能登入系統
ls -ld /home/test     //test 使用者的預設目錄
drwx——. 2 test ftp 4096 Nov 14 08:33 /home/test
 

建立 test 使用者密碼

echo “passwd” | passwd –stdin test   //也可以通過 passwd test 來修改密碼
 

測試

這裏我們可以先直接 service iptebles stop , 來先測試是否可以通過 test 連線 vsftpd.
 

開啓埠 20 21

以上若測試正常, 説明 vsftpd 配置沒有問題. 考慮站羣服務器安全性, 不能因使用 vsftpd, 而關閉 iptables. 所以啓動 iptables(service iptables start). 這時我們需要開啓對應埠, 設定如下:
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m multiport –dport 20,21 -m state –state NEW -j ACCEPT //開啓 20,21
這裏重啓 iptables, 測試連線, 發現無法正常連線. 因為 ftp 分為主動/被動模式, 需要開啓被動模式埠, 設定如下:
vi  /etc/vsftpd/vsftpd.conf
在最後加上:
pasv_enable=YES
pasv_min_port=20000     //被動模式最小埠 (自己選擇, 大於 1024)
pasv_max_port=20100     //被動模式最大埠
重啓 vsftpd
然後:
iptables 開啓相應埠:
vi /etc/sysconfig/iptable
-A INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT  //開啓 21 主動埠
-A INPUT -p tcp –dport 20000:20100 -j ACCEPT   //開啓被動埠
 
重啓 iptables, 發現就可以連線了!!