LDAP で PAM 認証
〜 shell ユーザを LDAP で認証 〜
2005-05-10 作成 福島


system-auth の変更 ※キケン※
この変更はかなりキケンです。不用意に変更すると、ログイン不能に陥ります。

もし間違えたら、システムハードディスクを取り外し、予備の Linux に mount して設定を戻します。



LDAP で登録されたユーザを NSS 越しに確認できたら、そのユーザがシェルでログインできるようにします。
注意点は 2 つです。
  1. SAMBA 等、他のサービスで LDAP ユーザを利用する場合にこの設定は不要
    SAMBA は LM/NTLM 認証でファイルサーバへの参加を許可します。
    勘違いしやすいのですが、構成が SAMBA + LDAP だけの場合、この設定 (PAM 認証) は不要です。

  2. Unix ユーザと LDAP ユーザが重ならないようにする
    管理者用ユーザ (root 等) を LDAP に登録してはいけません。
    この設定 (PAM 認証) で LDAP に管理者用ユーザを登録すると、su が不能になります
つまり、特別な場合を除いてシェルユーザが 100 人程度までは、この設定は要らないと思います。


/etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so

account required /lib/security/$ISA/pam_unix.so
account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] /lib/security/$ISA/pam_ldap.so

password required /lib/security/$ISA/pam_cracklib.so retry=3 type=
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_ldap.so use_authtok
password required /lib/security/$ISA/pam_deny.so

session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_ldap.so