安裝 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, 發現就可以連線了!!