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种解决办法:
- userlist_enable=NO
- 将root从user_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