Help us understand the problem. What is going on with this article?

pamでADにログインできなくなった話。PAM(Linux認証)の動作

More than 3 years have passed since last update.

fedora23でアクティブディレクトリ(AD)にログインできなくなったので調査してたらPAMの問題だったのでポスト。
fedora24でも同様であった。

PAMとは

ここ見れば一発だわ。
https://www.ibm.com/developerworks/jp/linux/library/l-pam/

tips

  • /etc/pam.d/の設定ファイルは変更すればすぐに反映される。(サービスの再起動などは必要ない)
  • realm コマンドでドメインに参加した場合に書き変わる。
  • # authconfig --test で設定が見れる。(PAM以外の認証方法についても。)

原因調査の仕方

例えば
/var/log/secure に以下のようにログがでた場合。

Dec  2 13:01:37 pc208-fc lightdm: pam_sss(lightdm:auth): received for user murata: 17 (Failure setting user credentials)

/etc/pam.d/lightdm というファイルのauthセクションのどこかに問題がある。

╰─$ cat /etc/pam.d/lightdm                                                                                             1 ↵
#%PAM-1.0
auth     [success=done ignore=ignore default=bad] pam_selinux_permit.so
auth       required    pam_env.so
auth       substack    system-auth
-auth       optional    pam_gnome_keyring.so
-auth       optional    pam_kwallet5.so
-auth       optional    pam_kwallet.so
auth       include     postlogin
account    required    pam_nologin.so
account    include     system-auth
password   include     system-auth
session    required    pam_selinux.so close
session    required    pam_loginuid.so
session    optional    pam_console.so
-session    optional    pam_ck_connector.so
session    required    pam_selinux.so open
session    optional    pam_keyinit.so force revoke
session    required    pam_namespace.so
-session    optional    pam_gnome_keyring.so auto_start
-session    optional    pam_kwallet5.so
-session    optional    pam_kwallet.so
session    include     system-auth
session    optional    pam_lastlog.so silent
session    include     postlogin

1個ずつコメントアウトしたりしていって原因を追求する。
もしくは他のサーバと見比べてみる。

今回のドメインにログインできなかった場合の処置

現象

  • dnf update後(たぶん) PCのログインでADのユーザーでログインできなくなった。
  • ローカルPCのユーザーではログインできる。
  • dnf update にsssd-adなどが含まれていた。
  • sshでもドメインユーザーでログインできなかった。
  • # su - murata@hogehogedomain.local はできる。

試行錯誤

sshでログインしようとした時に、/var/log/secureに以下のようなログが出ていた。

Nov 30 11:55:18 pc208-fc sshd[4510]: pam_sss(sshd:account): Access denied for user murata@hogehogedomain.local: 4 (System error)

/etc/pam.d/sshd のaccountにて、password-auth をincludeしていた。

/etc/pam.d/sshd
~snip
account    include      password-auth
~snip

password-authのaccoutセクションを見てみると。

/etc/pam.d/password-auth
~snip
account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 1000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     [default=bad success=ok user_unknown=ignore] pam_krb5.so
account     required      pam_permit.so
~snip

たぶんこれのどこかがおかしい。
ドメイン認証は、 sssdを使っているので、pam_sss.so かな?
コメントアウトしたところ、認証が通った。

/etc/pam.d/password-auth
~snip
#account     [default=bad success=ok user_unknown=ignore] pam_sss.so
~snip

だがしかし、OSのログイン画面は相変わらず通らなかった。

/var/log/secure に system-auth で同じようなログが出ていた。

system-auth の account [default=bad success=ok user_unknown=ignore] pam_sss.so をコメントアウトしてログインできました。

結果

pam_sss.so に不具合がありそうな気がするが、根本的な原因はわからず。。。
コレで果たしてセキュアな状態なのかもよくわかりません。ツッコミ歓迎。

murata-tomohide
https://ceres-inc.jp/ でソフトウェアエンジニアやってます。 間違いや変なところがあればツッコミ大歓迎。 「暗号通貨読書会/勉強会」の運営もやってます。 https://cryptocurrency.connpass.com/
ceres
「インターネットマーケティングを通じて豊かな世界を実現する」をミッションとし、国内最大級のスマートフォン向けポイントサイトの「モッピー」や「お財布.com」などを開発・運営しています。
https://ceres-inc.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away