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"

#