web-dev-qa-db-ja.com

su:認証の失敗

suに依存するものを使用できないUbuntu 14.04サーバーがあります。これは、サービスを再起動したり、ユーザーを切り替えたりすることができないことで明らかになります。

root@ci-web1:~# su - mxx
su: Authentication failure

私の/var/log/auth.logは以下を示しています:

Oct 10 11:14:15 ci-web1 su[19709]: PAM unable to dlopen(pam_rootok.so): /lib/security/pam_rootok.so: cannot open shared object file: No such file or directory
Oct 10 11:14:15 ci-web1 su[19709]: PAM adding faulty module: pam_rootok.so
Oct 10 11:14:15 ci-web1 su[19709]: PAM unable to dlopen(pam_unix.so): /lib/security/pam_unix.so: cannot open shared object file: No such file or directory
Oct 10 11:14:15 ci-web1 su[19709]: PAM adding faulty module: pam_unix.so
Oct 10 11:14:15 ci-web1 su[19709]: pam_authenticate: Authentication failure
Oct 10 11:14:15 ci-web1 su[19709]: FAILED su for mxx by root
Oct 10 11:14:15 ci-web1 su[19709]: - /dev/pts/0 root:mxx

これらのファイルは両方とも/lib/x86_64-linux-gnu/security/にあります。なぜ/lib/security/を探しているのかわかりません。

この問題を修正する方法は?

1
Mxx

straceの出力と試行錯誤を何度も掘り下げた結果、原因が見つかりました。パッケージの更新中のある時点で、loginパッケージとlibpcre3モジュールの間の依存関係リンクが壊れました。その特定のモジュールを再インストールして依存関係リンクを復元した後、suが再び機能するようになりました。

3
Mxx