Plesk 11 + CentOS 6環境に移行したらFTPログインで認証が通らなくてログインできなくなった。/var/log/secureを確認すると↓みたいなログが残ってる。
proftpd: PAM unable to dlopen(/lib64/security/pam_stack.so): /lib64/security/pam_stack.so: cannot open shared object file: No such file or directory
そんな時は「/etc/pam.d/proftpd」を編集する。
cp -p /etc/pam.d/proftpd{,.default} vi /etc/pam.d/proftpd --- #%PAM-1.0 auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required pam_stack.so service=system-auth auth required pam_shells.so account required pam_stack.so service=system-auth session required pam_stack.so service=system-auth ↓ #%PAM-1.0 auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth include system-auth service=system-auth auth required pam_shells.so account include system-auth service=system-auth session required pam_loginuid.so ---
具体的な変更箇所としては
(1)「required pam_shells.so」という箇所を全て「include system-auth」に変更する。
(2)「session」の行は下記のように変更する。
session required pam_stack.so service=system-auth ↓ session required pam_loginuid.so
最後にxinetdを再起動してProftpdに設定を再読込させる。
service xinetd restart
なお、PLESK 11にしたらFTPクライアント側でも調整が必要になる模様。
・http://ex-cloud.jp/support/question/q-630 (FFFTP)
・http://www.aconus.com/~oyaji/centos/proftpd_centos.htm (Filezilla、SmartFTP等)
【参考サイト】
・http://blog.be-dama.com/2013/06/06/centos6%E3%81%AEproftpd%E3%81%AB%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E5%87%BA%E6%9D%A5%E3%81%AA%E3%81%84%E3%80%82/
・http://www.psl.ne.jp/blog/?p=397
・http://www.dontwalk.org/archives/310