vsftpd配置好后,仍然出现无法下载文件的情况

vsftpd配置好后,仍然出现无法下载文件的情况

在CentOS7中,安装配置好vsftpd后

/etc/vsftpd/vsftpd.conf内容如下:

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

pasv_enable=YES

pasv_min_port=50250

pasv_max_port=50254

采用添加的系统注册用户登录,仍然无法下载文件,错误信息为:

550 Failed to open file.

解决方法

系统是CentOS,是RH派系的。把vsftpd安装配置好了,以为大功告成,但客户端访问提示如下错误:

500 OOPS: cannot change directory:/home/ftp

原因是他的CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。

//查看SELinux设置

# getsebool -a|grep ftp

ftpd_disable_trans --> off

或者

ftp_home_dir-->off

解决方法:

//使用setsebool命令开启

# setsebool ftpd_disable_trans 1

或者

# setsebool ftp_home_dir 1

再次查看当前状态是否是on的状态

# getsebool -a|grep ftp

ftpd_disable_trans --> on

或者

ftp_home_dir-->on

//setsebool使用-P参数,无需每次开机都输入这个命令

# setsebool -P ftpd_disable_trans 1

(我的centos7系统中没有ftpd_disable_trans的定义,故这个不行)

或者

# setsebool -P ftp_home_dir 1

(这个在我的centos7上可行,就是运行了这个之后,重启vsftpd服务,然后就可以正常下载了)

# service vsftpd restart

有关selinux的配置

如关闭,仅仅警告,强制等等 需要编辑/etc/sysconfig/selinux 默认是强制

相关推荐