最近、Red Hat Enterprise Linux で扱う FTP サーバはずっと vsftpd ばかりだった。
ところが今週触ったサーバが ProFTPD で、あまりに久しぶりなんで戸惑ってしまった。
FTP 用のユーザ追加して、ちゃんと chroot してるか /etc/proftpd.conf の DefaultRoot をチェックして、
DefaultRoot ~ !wheel
うん、wheel グループ以外のユーザは DefaultRoot が ~(自分のホームディレクトリ)になってるな・・・と確認。
ほんじゃ、接続してみますか・・・と ftp コマンド叩いたんだけど、認証ではじかれるじゃーん!?
Name (localhost:hoge9999): hoge9999
331 Password required for hoge9999.
Password:
530 Login incorrect.
Login failed.
他のユーザの設定を見て、どうも ftpusers というグループに所属してないと駄目だということはわかったんだけど、さて、その設定はどこにあるのやら???
穴が開くほど /etc/proftpd.conf を眺めてみたけど、そんな設定、あったっけぇ~???と、しばし悩む。
で、/var/log/messages 見てみたら、proftpd が「FTP session opened.」なメッセージを吐いた後、同じ PID で PAM が続けてメッセージを吐いてるじゃん。
なんだ。PAM 使ってるのか。
てことで、/etc/pam.d/ftp 見てみたら、
auth required pam_succeed_if.so user ingroup ftpusers
auth required pam_stack.so service=system-auth
auth required pam_warn.so
ああ、やっぱり。
ログインユーザが ftpusers グループに含まれていれば OK という設定がありますな。
と思って、もう一度 /etc/proftpd.conf を見てみると、
AuthOrder mod_auth_pam.c* mod_auth_unix.c
ああ、認証で PAM 使うって、ここに書かれてたのね。(^^;
コメントする