Redhat 5 Vsftp 550 failed to change directory問題解決

1623 ワード

テストの結果、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_に追加リスト内