OpenLDAP サーバ
・OpenLDAP サーバの基本的な設定
1.以下のパッケージの導入
openldap openldap-clients openldap-servers
2.Berkeley DB のパフォーマンスチューニング用のファイル作成
# cp -rp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
3./root/slapd.conf の作成
# cp -rp /usr/share/openldap-servers/slapd.conf.obsolete /root/slapd.conf
4./root/slapd.conf に追記
database config access to * by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none database bdb suffix "dc=example,dc=com" checkpoint 1024 15 rootdn "cn=Manager,dc=example,dc=com" rootpw {SSHA}HjIlhOG0qV8+sVbL40ND5UnODaaEm50h
5.設定ファイルの削除
# rm -fr /etc/openldap/slapd.d/* # echo "" |slapadd -f /root/slapd.conf
6.slapd.conf を変換
# slaptest -f /root/slapd.conf -F /etc/openldap/slapd.d/
7.ディレクトリの権限変更
# chown -R ldap:ldap /etc/openldap/slapd.d/ # chmod -R u+rwX /etc/openldap/slapd.d/ # chown -R ldap:ldap /var/lib/ldap/
8./etc/sysconfig/ldap ファイルに ldapi サポートの確認
SLAPD_LDAPI=yes
9.slapd の起動
# service slapd status # chkconfig slapd on
※参考情報
http://qiita.com/mykysyk@github/items/25e6adbfdb313afaf339
http://www.openldap.org/doc/admin24/index.html
http://www5f.biglobe.ne.jp/~inachi/openldap/admin23/index-ja.html
・cn=config へのアクセス
# ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config"
・cn=config の rootpw の設定追加
# cat test dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}NtFL4k34N3FHDdr5kXFdfpPFVGCPJ8Cn # ldapmodify -Y EXTERNAL -H ldapi:/// -f test SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={0}config,cn=config" #
※参考情報
https://mowa-net.jp/wiki/LDAP
・OpenLDAP クライアントの基本的な設定 (nslcd の場合)
1.以下のパッケージの導入
nscd nss-pam-ldapd pam_ldap
2./etc/sysconfig/authconfig の編集
#yes に変更 FORCELEGACY=yes
3.authconfig の実行
# authconfig --enableldap --enableldapauth --ldapserver=192.168.110.135 --ldapbasedn="dc=example,dc=com" --enablemkhomedir --update # chkconfig nslcd on
・エントリの追加
# cat test.ldif dn: dc=example,dc=com objectClass: top objectClass: domain dc: example dn: ou=Group,dc=example,dc=com objectClass: top objectClass: organizationalUnit ou: Group dn: ou=People,dc=example,dc=com objectClass: top objectClass: organizationalUnit ou: People # # ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f test.ldif Enter LDAP Password: adding new entry "dc=example,dc=com" adding new entry "ou=Group,dc=example,dc=com" adding new entry "ou=People,dc=example,dc=com" # cat user.ldif dn: uid=luser1,ou=People,dc=example,dc=com givenName: ldap sn: user1 loginShell: /bin/bash uidNumber: 1001 gidNumber: 1001 objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetorgperson objectClass: posixAccount uid:luser1 cn:ldap user1 homeDirectory: /home/luser1 userPassword: {SSHA}NtFL4k34N3FHDdr5kXFdfpPFVGCPJ8Cn dn: cn=lgroup1,ou=Group,dc=example,dc=com objectClass: posixGroup objectClass: top cn: lgroup1 gidNumber: 1001 # ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f user.ldif Enter LDAP Password: adding new entry "uid=luser1,ou=People,dc=example,dc=com" adding new entry "cn=lgroup1,ou=Group,dc=example,dc=com" #