LDAP Client

OpenLDAPのクライアント設定をしたので、そのときのメモ。

一番簡単なのは、authconfigというコマンドでLDAPを使う方法です。このときに、LDAPサーバのIPアドレスやLDAPでのドメイン名を聞かれるので、あらかじめ調べておく必要があります。このコマンドを使うことにより、次の4つのファイルが更新されます。

* /etc/nsswitch.conf
* /etc/ldap.conf
* /etc/openldap/ldap.conf
* /etc/pam.d/system-auth

せっかくなので、各ファイルのどこが更新されるかわかるように、手作業での設定方法も簡単に説明しておきます。

/etc/nsswitch.confでは、アカウント情報やパスワード情報をどこからとるかという設定をするので、次の項目でldapを追加しておかなければなりません。

passwd: files ldap
shadow: files ldap
group: files ldap

/etc/ldap.conf
設定ファイルである/etc/ldap.confを編集して、ユーザーの組織と検索ベースを反映させます。

host 127.0.0.1
base dc=sssg,dc=org

一応、TLSを使っていなかったり、MD5を使っていたりする場合は、次のような設定も追加しておいた方がいいかもしれません。

ssl no
pam_password md5

/etc/openldap/ldap.confにも同じ設定をしないとOpenLDAP系のツールがうまく動作しません。

host 127.0.0.1
base dc=sssg,dc=org

最後はPAM用設定ファイル/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

auth sufficient /lib/security/pam_ldap.so use_first_pass

設定が終わったら、nscd(Name Service Cache Daemon)を起動しておくと、アクセスが高速になります。ただし、検索結果のキャッシュを有効にしているだけなので、これを起動させなくてもLDAPの動作に支障はありません。

# cd start
# chkconfig nscd on

同じカテゴリの記事: Linux