rpm -qa | grep vsftpd
安裝vsftpd
yum -y install vsftpd
開機啓動
chkconfig vsftpd on
啓動vsftpd服務
service vsftpd start
配置防火牆
打開/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代碼
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 1:30999 -j ACCEPT
打開/etc/vsftpd/vsftpd.conf文件
pasv_enable=YES
pasv_min_port=1
pasv_max_port=30999
保存和關閉文件,重啓防火牆,FTP服務
service iptables start
service vsftpd restart
常見錯誤:
1、
530 Permission denied
原因是/etc/vsftpd/vsftpd.conf裏userlist_enable=YES /etc/vsftpd/user_list含有root名單 2種解決辦法:
[list]
[*]userlist_enable=NO
[*]將root從user_list中去掉
[/list]
2、
530 Login incorrect錯誤
530 Login incorrect. 登錄失敗。
將root從/etc/vsftpd/ftpusers中去掉。
3、
500 OOPS: cannot change directory:/root 500 OOPS: child died 遠程主機關閉連接。
該錯誤的最簡單解決辦法 關閉 selinux防火牆
關閉SELinux的方法:
修改/etc/selinux/config文件中的SELINUX="" 爲 disabled ,然後重啓。 如果不想重啓系統,使用命令setenforce 0 注:
setenforce 1 設置SELinux成爲enforcing模式
setenforce 0 設置SELinux成爲permissive模式。
或者解決:
①查看SELinux的狀態:sestatus -b | grep ftp 確切地說,只是查看了ftp的狀態。
②在出現的結果中可以看到
ftp_home_dir off
tftpd_disable_trans off
之類。我們現在只要把其中之一設置爲on就可以啦。
③setsebool -P ftpd_disable_trans on 或者setsebool -P ftp_home_dir on
無ftpd_disable_trans的可以把allow_ftpd_full_access修改爲 on
setsebool -P allow_ftpd_full_access on
4、重啓vsftpd:servicevsftpd restart
問題:
500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
500 OOPS: priv_sock_get_result 遠程主機關閉連接。
在/etc/vsftpd/目錄創建chroot_list文件:
touch chroot_list