5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-08-17

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

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?