Redhat 5 Vsftp 550 failed to change directory 问题解决

倾然丶 夕夏残阳落幕 提交于 2019-12-07 18:49:38

结果测试的时候发现
ftp localhost
ftp> cd cdrom
550 Failed to change directory.
无法切换目录到/pub/cdrom

原因是SElinux的FTP传输审核功能禁止切换目录

解决办法:

1. /etc/sysconfig/selinux上禁用之,重启Linux生效

2. 不重启linux,临时停用selinux的办法,

/usr/sbin/setenforce 0

3. 禁用SElinux的FTP传输审核功能
/usr/sbin/setsebool -P ftpd_disable_trans 1
service vsftpd restart

其中参数 -P表示永久性生效

使用getsebool -a | grep ftp命令找到ftp的bool值
匿名上传setsebool -P allow_ftpd_anon_write on
禁用ftp传输审核setsebool -P ftpd_disable_trans on

sestatus
[root@xen ~]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          enforcing
Policy version:                 21
Policy from config file:        targeted

[root@xen ~]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
allow_tftp_anon_write --> off
ftp_home_dir --> off
ftpd_disable_trans --> off
ftpd_is_daemon --> on
httpd_enable_ftp_server --> off
tftpd_disable_trans --> off
[root@xen ~]# setsebool -P ftpd_disable_trans on
[root@xen ~]# service vsftpd restart

------------------------------------------------

如果问题依旧,再尝试如下的方法:

打开 /etc/vsftpd/vsftp.conf,将

# users to NOT chroot().
chroot_list_enable=YES
改成 
# users to NOT chroot().
chroot_list_enable=NO
并把ftp用户添加到/etc/vsftpd/chroot_list中 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!