Redhat 5 Vsftp 550 failed to change directory問題解決
テストの結果、ftp localhost ftp>cd cdrom 550 Failed to change directory.ディレクトリを/pub/cdromに切り替えられません
理由はSElinuxのFTP転送レビュー機能でディレクトリの切り替えが禁止されているためです
解決策:
1./etc/sysconfig/selinuxで無効にし、Linuxを再起動して有効にする
2.linuxを再起動せず、selinuxを一時的に停止する方法
3.SElinuxのFTP転送監査機能を無効にする
ここで、パラメータ-Pは永続性が有効であることを示す
getsebool-a|grep ftpコマンドを使用してftpのbool値を見つけて匿名でsetsebool-P allow_をアップロードftpd_anon_write on ftp転送監査setsebool-P ftpd_を無効にするdisable_trans on
------------------------------------------------
問題が解決しない場合は、次の方法を試します.
/etc/vsftpd/vsftpを開く.conf,将
に改心
ftpユーザーを/etc/vsftpd/chroot_に追加リスト内
理由は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_に追加リスト内