VineLinuxパフォーマンスアッププロジェクト:0205

■ID・パスワードが正しくてもログインに失敗する場合には■

 FTPサーバにログインする際、ID・パスワードが正しくてもログインに失敗する場合があります。
 そのような場合に確認すべきポイントと、設定の変更方法をご紹介します。


※以下はProftpdサーバを前提としております。

 FTPコマンドやFTPクライアントソフト(gFTPやFFFTPなど)ではログインに失敗した旨のメッセージが表示されるだけで、原因まで把握することはできません。
 ところが、ログイン履歴等を記録するファイル(/var/log/secure)を見ると、以下のようにエラーが出力されています。

  USER [ユーザ名] (Login failed): Invalid shell: '/bin/bash'

 これは、ログインシェルにできるプログラムを定義している/etc/shellsにシェルが記述されていないために発生します。
 通常は"/bin/sh"や"/bin/csh"等のシェルが定義されていますが、これらの定義が何らかの原因で消えてしまった場合、ユーザはログイン後に利用できるシェルがないことになります。
 このような状況でもFTPとしてユーザのログインを許可する場合には、Proftpdの設定ファイルである/etc/proftpd.confに以下のような記述を加えます。

  RequireValidShell off

 記述する場所は設定ファイル中のどの部分でもかまいませんが、追記した場所がわかりやすいようにしておくとよいでしょう。

 これでProftpdデーモンを再起動するとログイン可能になります。

※この方法はログイン後のデフォルトシェルが定義されていないユーザでもログイン可能にすることを許可しているため、セキュリティ的におすすめできません。
 /etc/shellsに適切なシェルを定義し、このオプションを有効にすることをおすすめします。





プロジェクト ホームへ戻る