プロが教えるわが家の防犯対策術!

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のバグなのかどうか分かりませんが、回避方法をご存じの方、ご教示をお願いします。

A 回答 (1件)

「お約束」なんですが…SELinuxはどうなっています?



rootユーザでの
・getenforceの結果は?
・getsebool ftp_home_dirの結果は?

この回答への補足

コマンドの実行結果は、
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に接続できるようになりました。

補足日時:2012/08/10 13:51
    • good
    • 0
この回答へのお礼

SELinux Managementが表示されないから、SELinuxがこの世から消えて無くなったと思った私が、大間抜けでした。
貴重なアドバイスありがとうございました。

お礼日時:2012/08/10 13:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!