CentOS6.3のvsftpd不具合

このQ&Aのポイント
  • CentOS6.3のFTPサーバーvsFTPd 2.2.2で不具合が発生しています。
  • ログイン後、ユーザーのホームディレクトリーに自動移動できず、接続がクローズします。
  • Windowsのftpを使うとエラーが出て、ホームディレクトリーに自動移動できません。
回答を見る
  • ベストアンサー

CentOS6.3のvsftpd不具合

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

「お約束」なんですが…SELinuxはどうなっています? rootユーザでの ・getenforceの結果は? ・getsebool ftp_home_dirの結果は?

YkazubonY
質問者

お礼

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

YkazubonY
質問者

補足

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

関連するQ&A

  • vsftpdが動きません

    CentOS5で、vsftpdを稼動しようとしているのです。 Windowsコマンドラインから、ftpすると、 ログインアカウントの入力、パスワード入力までは うまくいくのですいが、 500 OOPS: cannot change directory:/xxx/yyy 500 OOPS: chodl died 接続がリモートホストによって閉じられました となって、ftp出来ません。 chroot関係かと思って、vsftpd.confのchroot辺りを すべてコメントアウトしても、状況はかわりません。 どなたか、教えていただけませんか?

  • CentOS6.2でのvsftpdについて

    いつもお世話になります。 WordPressフォーラムと一部マルチポストになっていることはご容赦ください。 CentOS6.2でWordPressを使おうとFTPの設定を始めました。 # yum install vsftpd # yum install ftp ファイアウォールの設定でFTPにチェックを入れました。 /etc/sysconfig/iptables-config に IPTABLES_MODULES="nf_conntrack_ftp" と追加した後で # service iptables restart しました。 /etc/hosts.allow に fvftpd: ALL を追加した後で # service vsftpd start # chkconfig vsftpd on # setsebool -P ftp_home_dir on # service vsftpd restart まで作業しました。 そこでターミナルからFTPを試してみました。 >FTP localhost Trying ::1... ftp: connect to address ::1接続を拒否されました Trying 127.0.0.1... Connected to localhost (127.0.0.1). 220 (vsFTPd 2.2.2) Name(localhost:ユーザ名): ここからユーザ名とパスワードを入力すると普通にFTPが利用できます。  どうも最初の接続を拒否されましたという部分が原因でWordPressのプラグインの扱いに失敗しているようです。  WindowsのFFFTPからつなげると普通に接続できます。 「接続を拒否されました」という部分の解決方法がお分かりでしたら、ぜひご教示ください。

  • vsftpd ffftpでログインができない。

    SentOS4.3でFTPサーバを構築しようとしています。 FFFTPでログインすると「ログインできません。正しいパスワードを入力してください。」ダイアログが表示され、パスワードを入力すると 下記内容が表示されてます。 --------------------------------------------------- ホスト 192.168.2.206 (21) に接続しています. 接続しました. 220 (vsFTPd 2.0.1) >USER hoge 331 Please specify the password. >PASS [xxxxxx] 500 OOPS: cannot change directory:/home/hoge >USER hoge ログインできません. --------------------------------------------------- 確かに/homeにログインしたユーザのディレクトリは存在しません。 ホームにディレクトリが無くてもログインできるようになる設定はどうすればよいでしょうか? [運用条件] 1.匿名ユーザを許可しない。 2.デフォルトディレクトリより上層へのアクセス禁止。 3.アップロード/ダウンロードの許可。 4.デフォルトディレクトリを=/mnt/hdb/ftpとする。 [vsftpd.confの設定] anonymous_enable=NO ascii_upload_enable=YES ascii_download_enable=YES local_enable=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list userlist_enable=YES userlist_deny=YES chroot_local_user=YES local_root=/mnt/hdb/ftp ※上記以外のものはインストールした時点のまま ※/etc/vsftpd.chroot_listには特にユーザは指定していない

  • centos5.2でvsftpdの制限方法

    centos5.2でvsftpdの設定について質問させていただきます。 現在、各ユーザのホームディレクトリ内の「public_html」フォルダを apacheの公開フォルダに設定しているのですが、ftp接続した時に 他のユーザのファイルや他の設定ファイルを見られたくない為、 上位の階層に行けないようにしたい(管理者ユーザは全て可能) のですが、うまくいきません。 ネットとこの掲示板のログで調べて試したのは以下の内容です。 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list chroot_listを新規作成して、そこに上位階層へ行けるユーザ名を追加 結果は ⇒階層制限をかけたユーザは「/」階層が初期表示され全く移動できない  FTPの初期フォルダを変更してもダメでした。 次に、この掲示板の過去ログでredhatの設定がありましたので /etc/ftpchrootを新規作成して制限をかけるユーザ名を入れた所、 /home以外には行けませんが、/home内は全て見れる状態に 最後に同じ過去ログに書いてあった、ftpaccessを作成しpasswdに 細工を仕込む方法は、コピーするフォルダが無い為できませんでした。 何か足りないのか、組み合わせが悪いのだと思い色々と組み合わせて みているのですが、うまくいかない為、皆さんのお知恵をお借りできれば と思い質問します。 宜しくお願いします。

  • vsftpdの設定

    vsftpdのデフォルト設定では、ログイン時のディレクトリが  ・anonymous⇒/var/ftp  ・登録ユーザ⇒ユーザごとのホームディレクトリ となっていますが、任意のディレクトリに設定することはできますか? redhat9です。 回答宜しくお願い致します。

  • 新規ユーザーだとvsftpdにログインできない

    vsftpdをインストール時に既に登録されていた ユーザーはftpに接続できるのですが useradd hogehoge passwd hogehoge のように後からコマンドで登録したユーザーでftpに接続できません。 hosts.allowやdenyの設定はしていません。 ログインしようとすると # ftp 192.168.1.1 # hogehoge # password 331 Please specify the password. 530 Login incorrect. のようでてログインできません。 パスワード要求まできているのでpasswdで設定した パスワードが有効になっていないのかと思って su - hogehoge でログインを試みましたが問題なく入れました。 初歩的な事かもしれませんが宜しくお願いします。 userlist_deny=NOにしてvsftpd.ftpusers に登録しましたがやはり駄目でした。 vsftpd.confの設定は anonymous_enable=NO userlist_deny=NO と変更した以外はデフォルトです。 rpm -e vsftpd rpm -ihv vsftpd・・・で再インストールしましたがそれでも同じでした。

  • vsftpdにて接続できない

    よろしくお願いします。 CentOS5.6 vsftpd 2.0.5 にてftpサーバーを立てたいのですが、 やってみても接続できません。 21番ポートがあいている事は nmap、netstat から確認できているのですが、 ftpコマンドや、ffftpで接続しようとしても 接続できません。 どこから確認すればよいか、ご教授いただけないでしょうか。 何卒よろしくお願いします

  • centOSでvsftpの設定の際の設定

    centOSでvsftpを設定しているのですが、 接続した後の初期ディレクトリの設定が分かりません。 複数のユーザが接続することを想定して /home/のユーザ名のディレクトリに接続したいです。 あとFTPに接続されているようなのですが、階層の移動もできません。 どのようにしたら良いでしょうか? 教えてください。

  • vsFTPdサーバにログインできません・・・

    FedoraCore5にvsFTPdを勉強のためにインストールしました。FTP localhostとコマンドをうつと以下のエラーが返ってきております。 Connected to localhost.localdomain. 220 (vsFTPd 2.0.4) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (localhost:XXXX: XXXX 331 Please specify the password. Password: 500 OOPS: cannot change directory:/home/XXXX Login failed. 421 Service not available, remote server has closed connection と出ます。 ユーザ名をXXXXとしているのですが、ログインできません。vsftpd.confは特に設定をしていなく、ファイアーウォールも設定しておりません。ログインできる方法をご存じのかたご教授ねがいします。

  • vsFTPDについて

    お世話になっております。 現在、仮想サーバ上からvsFTPDの設定について勉強しております。 HP上で情報を調べていると、vsFTPD.conf内に「local_Root=public_html」と記載している事がありました。 内容が「~/public_htmlにする。」と書かれており、なぜpublic_htmlにするのかが不明でした。 しかし、更に調べると「chroot以外にディレクトリを進めないようにする。」と書かれているサイトがありました。 この意味というのは、ユーザー(スーパーユーザー含む?)のディレクトリ(/usr or /home)以外にディレクトリを進めないようにするということなのでしょうか? ※説明が抽象的ですみません・・・ 調べ不足&勉強不足で申し訳ないと思っておりますが、ご教授の程よろしくお願いいたします。