※ ChatGPTを利用し、要約された質問です(原文:CentOS6.3のvsftpd不具合)
CentOS6.3のvsftpd不具合
このQ&Aのポイント
CentOS6.3のFTPサーバーvsFTPd 2.2.2で不具合が発生しています。
ログイン後、ユーザーのホームディレクトリーに自動移動できず、接続がクローズします。
Windowsのftpを使うとエラーが出て、ホームディレクトリーに自動移動できません。
CentOS6.3のFTPサーバーvsFTPd 2.2.2で不具合が発生しています。
現象は、ログイン後、ユーザーのホームディレクトリーに自動移動できなくて、接続がクローズします。
/etc/vsftpd/vsftpd.confはデフォルトのまま使用しています。
Windowsのftpを使うと下記のエラーが出ます。
c:\Work>ftp nsbbsv1
nsbbsv1 に接続しました。
220 (vsFTPd 2.2.2)
ユーザー (nsbbsv1:(none)): hogehoge
331 Please specify the password.
パスワード:
500 OOPS: cannot change directory:/home/hogehoge
500 OOPS: 500 OOPS: child died
接続がリモート ホストによって閉じられました。
ここで、/home/hogehogeがホームディレクトリーなのですが、そこに自動移動できません。
CentOS6.3の/var/log/messagesを見ると、セキュリティ違反が発生しています。
Aug 10 09:40:45 nsbbsv1 kernel: type=1400 audit(1344559245.452:47414): avc: denied { search } for pid=3435 comm="vsftpd" name="/" dev=sda5 ino=2 scontext=system_u:system_r:ftpd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir
CentOS5.6までは、vsftpdには、このような問題は発生していません。
vsftpdのバグなのかどうか分かりませんが、回避方法をご存じの方、ご教示をお願いします。
お礼
SELinux Managementが表示されないから、SELinuxがこの世から消えて無くなったと思った私が、大間抜けでした。 貴重なアドバイスありがとうございました。
補足
コマンドの実行結果は、 Enforcing ftp_home_dir --> off でした。 通常は、メニューにおいて、システム->管理->SELinux Management がありますが、CentOS6.3では、表示されません。 更に調べてみると、 /usr/bin/system-config-selinux がインストールされていなくて、かつ、パッケージ system-config-securitylevel.i386 が、公開されていません。 GUIからSELinuxの設定が出来ない状態です。 仕方がないので、 /etc/selinux/configを修正し、 SELINUX=enforcing から SELINUX=disabled にしました。 これで、vsftpdに接続できるようになりました。