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.soaccount 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.sopassword 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.sosession required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_ldap.soauth sufficient /lib/security/pam_ldap.so use_first_pass>
設定が終わったら、nscd(Name Service Cache Daemon)を起動しておくと、アクセスが高速になります。ただし、検索結果のキャッシュを有効にしているだけなので、これを起動させなくてもLDAPの動作に支障はありません。
# cd start
# chkconfig nscd on