打开vsftpd配置文件:vim /etc/vsftpd/vsftpd.conf,将配置文件改成如下
pam_service_name=vsftpd
tcp_wrappers=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
重启vsftpd服务
service vsftpd restart
链接之后,仍报错
500 OOPS: cannot change directory:
原因:这是因为服务器开启了selinux,这限制了FTP的登录
备注:SELinux 策略规定 vsftpd 文件访问和进程交互的限制,匿名用户没有写文件的访问权限,即使 /etc/vsftpd/vsftpd.conf 配置文件中开放了读写权限也是如此
看看SELINUX 中ftp的相关配置
sestatus -b | grep ftp
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir off
ftpd_connect_db off
----
tftp_use_nfs off
执行如下命令:
setsebool -P ftpd_disable_trans
报如下错误:
Boolean ftpd_disable_trans is not defined
执行如下命令:
setsebool -P ftp_home_dir 1
确认一下
sestatus -b | grep ftp
果然改过来了
allow_ftpd_anon_write off
allow_ftpd_full_access off
allow_ftpd_use_cifs off
allow_ftpd_use_nfs off
ftp_home_dir on
ftpd_connect_db off
----
tftp_use_nfs off
ftp_home_dir:当开放这个布尔变量时认证用户可以读写自己的主目录中的文件
重启vsftpd服务
service vsftpd restart
再次连接vsftpd服务,成功了!
vsftpd配置文件配置文件详解
vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格。对于每个配置命令,在配置文件中还列出了相关的配置说明,利用vi编辑器可实现对配置文件的编辑修改。方法如下:
#vi /etc/vsftpd/vsftpd.conf
1.登录和对匿名用户的设置