RPMForge からCentOS6 に入れたProFTPD がことごとくユーザー認証を失敗して、悩む。SELinuxを切ってもダメ。/var/log/audit/audit.logを見ると
type=USER_AUTH msg=audit(1321591916.623:561): user pid=5500 uid=0 auid=500 ses=24 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:authentication acct="foo" exe="/usr/sbin/proftpd" hostname=::1 addr=::1 terminal=/dev/ftpd5500 res=failed'PAMで失敗してるらしい。結論から言うとpam_stack.soが廃止され、includeという制御フラグに置き換わったらしい。例えば、
auth required pam_stack.so service=system-auth ↓ auth include system-authとなるそうで。
pam_stack.soに問題があると分かるまで、ProFTPDのPAMファイルを一行ずつコメントアウトしたり、system-authの定義内容を丸コピーしてみたりと手間取ったのですが、先に/var/log/secureを見ておけば一発で原因が発見できたのに…
[参考]
- CentOS 6にProFTPdをインストールしてつまづく (Don't walk 2011/7/21)
- mod_auth_pam-1.1.1-9.el6.i686.rpm - CentOS 6 (RHEL 6) (Linux Free Software Catalog and Packages Search / 2005-10-07 Ignacio Vazquez氏のコメント)
[2011/11/19 追記] SELinuxにも引っかかって起動せず。RPMForgeじゃなくEPELから入れると起動はするけど、またSELinuxのせいでFTPログインができない。 <参考>FTPサーバー構築 - ProFTPD (Server world)
[2011/11/21 追記] 'setsebool ftp_home_dir on'でログイン可能に。再起動時も有効にする場合は-Pオプションをつける。RedHat/Fedora系専用。 <参考>boolean 一覧 (Fedora 9) (日本セキュアOSユーザ会)
Comments