CentOS 安装vsftpd

查看是否已安装了vsftpd:
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
发布了21 篇原创文章 · 获赞 13 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章