LinuCレベル3 300試験の例題と解説
391.1 PAMおよびNSSとLDAPの統合
■トピックの概要
このトピックの内容は以下の通りです。
<391.1 PAMおよびNSSとLDAPの統合>
重要度 2
<説明>
PAMとNSSを設定して、情報をLDAPディレクトリから取り出せること。
<主要な知識範囲>
・PAMを設定して、認証にLDAPを使用する
・NSSを設定して、情報をLDAPから取り出す
・PAMモジュールをさまざまなUNIX環境で設定する
<重要なファイル、用語、ユーティリティ>
・PAM
・NSS
・/etc/pam.d/*
・/etc/nsswitch.conf
■例題
LDAPとNSS、PAMの統合についての解説で間違っているものを選びなさい。
1. /etc/nsswitch.confを設定することでLDAPを参照するように設定できる
2. LDAPとPAMの統合にはpam_ldapを利用する
3. LDAPでの認証を行うには/etc/shadowにもユーザーを記述する必要がある
4. LDAPに格納されたパスワードをpasswdコマンドで変更できる
※この例題は実際のLinuC試験とは異なります。
解答と解説
答えは3. LDAPでの認証を行うには/etc/shadowにもユーザーを記述する必要がある です。
まず、/etc/nsswitch.confに、以下のような記述を行います。
○/etc/nsswitch.confの例(抜粋)
passwd: files ldap
shadow: files ldap
group: files ldap
protocols: files ldap
services: files ldap
netgroup: files ldap
automount: files ldap
この設定により、各種情報をLDAPから取得するようになります。
また、PAMとの認証統合には、たとえば/etc/pam.d/system-authを以下のように設定します。
○/etc/pam.d/system-authの例
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 broken_shadow
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.so
account required /lib/security/$ISA/pam_permit.so
password requisite /lib/security/$ISA/pam_cracklib.so retry=3
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
3行目のpam_ldapの記述で、認証を行っています。use_first_passは、ユーザーが最初に入力したパスワードをそのまま利用できる設定です。
7行目のpam_ldapの記述で、アカウントのチェックを行っています。
broken_shadowオプションをつけることで、/etc/shadowにアカウント情報が無くても無視します(エラーにならない)。
11行目のpam_ldapの記述で、passwdコマンドによるLDAPに対するパスワード変更を設定しています。