印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux /etc/ftpusers は「させない」リストだった

ProFTPD に接続はできるが,ログインに失敗する。ドハマりした結果,原因は /etc/ftpusers にあることが分かった。

■ ■ ■

動作環境

結果的には実はバージョンはまったく関係ないのだが,念のため書いておくと,動作環境は Vine Linux 6.2, ProFTPD 1.3.3e である。ProFTPD は xinetd 経由ではなく,standalone で動作している。

現象

ProFTPD は起動している。しかし,FTP クライアントから接続しようとすると (ユーザは foo だとする),次のようにログインに失敗する。

$ ftp nlogn.ath.cx
Connected to nlogn.ath.cx.
220 ProFTPD 1.3.3e Server (ProFTPD Default Installation) [::ffff:192.168.0.197]
Name (nlogn.ath.cx:foo):
331 Password required for foo
Password:
530 Login incorrect.
ftp: Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

原因調査

原因を調べるためにログファイルを見ていくことにした。/var/log/messages はどうかというと,次のようになっていた。セッションが開いてからその直後に閉じている。

Apr 17 19:48:58 localhost proftpd[17395]: localhost.localdomain (localhost.localdomain[::ffff:127.0.0.1]) - FTP session opened.
Apr 17 19:49:09 localhost proftpd[17395]: localhost.localdomain (localhost.localdomain[::ffff:127.0.0.1]) - FTP session closed.

/var/log/secure はどうか。

Apr 17 19:49:05 localhost proftpd: pam_listfile(ftp:auth): Refused user foo for service ftp
Apr 17 19:49:07 localhost proftpd[17395]: localhost.localdomain (localhost.localdomain[::ffff:127.0.0.1]) - USER foo (Login failed): User in /etc/ftpusers

…ん? 「ユーザ foo は /etc/ftpusers にある」ですと?

問題解決

マニュアルによれば,/etc/ftpusers は「ftp の使用を許可しないユーザーのリスト」とある (Man page of FTPUSERS)。

要するに,ものすごい勘違いをしていたのである。私は「ftp を許可する」ユーザのリストだと思っていたのだ。だから ftp を使いそうなユーザを着々と追加していっていた。そして ftp に接続はできるのにどうしてだろうと散々悩んだ。それもそのはず,実は「ftp を許可しない」リストだったからである。そして,/etc/ftpusers からユーザ foo を削除し,問題はあっけなく解決したのだった。(´・ω・`)

それにしても ftpusers のネーミング悪すぎ。ftpdeny とか何か他に案はなかったのか。

その他

FTP とは関係がないのだが,/var/log/secure を開くと,どこぞからの ssh での root ログインの試行が秒単位で繰り返されていることが分かり,青ざめている。

Apr 17 20:00:53 localhost sshd[17704]: Failed password for root from 222.186.21.240 port 59853 ssh2
Apr 17 20:00:54 localhost sshd[17706]: Failed password for root from 43.255.190.186 port 39326 ssh2
Apr 17 20:00:56 localhost sshd[17706]: Failed password for root from 43.255.190.186 port 39326 ssh2
Apr 17 20:00:58 localhost sshd[17706]: Failed password for root from 43.255.190.186 port 39326 ssh2
Apr 17 20:00:58 localhost sshd[17707]: Received disconnect from 43.255.190.186: 11:
Apr 17 20:00:58 localhost sshd[17706]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.255.190.186  user=root
Apr 17 20:01:00 localhost sshd[17708]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=43.255.190.186  user=root
Apr 17 20:01:02 localhost sshd[17708]: Failed password for root from 43.255.190.186 port 57809 ssh2
Apr 17 20:01:04 localhost sshd[17708]: Failed password for root from 43.255.190.186 port 57809 ssh2
Apr 17 20:01:04 localhost sshd[17718]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=222.186.21.240  user=root
Posted by n at 2015-04-17 20:07 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?