Bloody Mary - blog

Bloody Mary 別館

PAM のバージョンアップでトラブル

pam アップデートでひどい目に

先日、ファイル置き場として使っているサーバの PAM をバージョンアップしました。

PAM というのは認証系モジュール群です。
ユーザ認証→ PAM → FTP とか SSH とか、サーバとユーザ間に入って認証チェックを行い、 3 回エラーになったらクラッキングとみなす、等といったことを行ってくれるモジュールです。
なので、サーバアプリだけじゃなく、 su や login 、 passwd といったコマンドにも関与したりしています。

今まで使っていたのが、確かバージョン 0.7 系でした。
今回、 PAM-1.0.2 にバージョンアップして、うっかり root をログアウトしてしまったため、それ以降、 SSH でログインした一般ユーザが su コマンドで root になれないコンソールからすべてのユーザでログインできないsodo もできない、といったトラブルに見舞われてしまいました。

一撃でほぼ致命傷の三連コンボです。厄日ですかね?

SSH は PAM を使わないようになっていたのでログインできたのですが、 root にもなれない、 sudo も使えないんじゃ何もできません。
しょうがないので、非常用として別ドライブにある Linux OS を起動し、問題のドライブをマウント、 /etc/ssh/sshd_config を root 許可にして再起動しました。
これで SSH から直接 root ログインできるようになります。 ( 今までは 一般ユーザで SSH にログイン → root していたが、背に腹は代えられません )

いよいよ root になってエラーのチェック。
root になれないのでエラーログも見れず、苦労しました。

  1. Nov 16 14:48:01 hogehoge su[18119]: PAM unable to dlopen(/lib/security/pam_stack.so): /lib/security/pam_stack.so: undefined symbol: _pam_strdup
  2. Nov 16 14:48:01 hogehoge su[18119]: PAM adding faulty module: /lib/security/pam_stack.so
  3. Nov 16 14:48:01 hogehoge su[18119]: pam_authenticate: Module is unknown
  4. Nov 16 14:48:01 hogehoge su[18119]: FAILED su for root by hogege
  5. Nov 16 14:48:01 hogehoge su[18119]: - pts/2 hogege:root

どうやら pam.stack.so が認識できないようです。

  1. # ll /lib/security/pam_stack.so

としたところ、ファイルが存在しなかったので、現バージョンでは使われなくなったんでしょうかね。

やることは分かったので /etc/pam.d の中にあるファイルを調べてみることにしました。

pam_stack.so がからんだ行を調べてみると、今までなら、

account    required     pam_stack.so service=default

で OK だったのが、以下のように変更しなければならないようです。

account    include      default

というわけで、すべての required pam_stack.soinclude に変更して、無事ログインできるようになりましたとさ。

Updated: 2012/6/5 火曜日 — 15:57:37

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Bloody Mary - blog © 2008 - 2021