LinuCレベル3 300試験の例題と解説

主題391OpenLDAPの認証バックエンドとしての利用

391.1 PAMおよびNSSとLDAPの統合

このエントリーをはてなブックマークに追加
今回は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にもユーザーを記述する必要がある です。

OpenLDAPをNSS(Name Service Switch)、PAMと連携させるには、以下のような設定を行う必要があります。

まず、/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に対するパスワード変更を設定しています。

ページトップへ