PAM unable to dlopen(/lib/security/pam_fprintd.so): /lib/security/pam_fprintd.so:
■環境
CentOS6
■事象
suコマンドを実行するログが溜まっていく。
・/var/log/secure
centos6 su: pam_unix(su-l:session): session closed for user root centos6 su: PAM unable to dlopen(/lib/security/pam_fprintd.so): /lib/security/pam_fprintd.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません centos6 su: PAM adding faulty module: /lib/security/pam_fprintd.so centos6 su: pam_unix(su-l:session): session opened for user root by USER(uid=500)
■原因
Red Hat Bugzilla – Bug 505266
https://bugzilla.redhat.com/show_bug.cgi?id=505266
ステータスは、CLOSED NOTABUGとなっているが、個人的にはOS導入時のauthconfig初期設定の障害と考える。
CentOS6(RHELも?)では、認証設定として指紋認証が有効となっているが、OSを最小構成でインストールすると指紋認証用のパッケージ(fprintd-pam)がインストールされていないためこの事象が起こる。
「Server-GUI」でOSをインストールした場合は、「fprintd-pam」パッケージが導入されているため、この事象は発生しない。もちろん指紋認証も有効になっているけど。
ということで、原因は以下と考える。
- OS最小構成インストール時に「fprintd-pam」パッケージが漏れている
- authconfig初期設定に誤りがある
■解決策
VMで動作しており、指紋認証機器もないので「fprintd-pam」の導入はしない。
authconfigを修正し、指紋読み取りを使用しないように設定。
authconfig-tuiで、「指紋読み取りを使用する」のチェックを外す。
または、「authconfig --disablefingerprint --update」を実行する。
「fprintd-pam」の入れ忘れを原因として「fprintd-pam」をインストールすると、依存関係によりdbus、gtk2、libX11など最小構成でインストールしたのに必要のないパッケージを約30MB導入することになる。大した容量ではないがメンテに影響がでそうなので入れない。
OSを最小構成でインストールしてかつ指紋認証が必要な環境の場合はインストールが必要かと。