yum -y install openldap-clients openldap-servers
yum -y install cyrus-sasl-md5
# 管理者用のパスワード生成
[root@red5 ldap]# /usr/sbin/slappasswd -h {MD5}
# 後で登録するので控えておく
{MD5}*************************
vi /etc/openldap/slapd.conf
———————————————————————-
# 86行目:suffix指定 – ドメイン名をドットで区切ったものをdc=***で指定
# ここの例でのドメイン名は「hogehoge.com」なので以下のようになる
suffix "dc=hogehoge,dc=com"
# 87行目:管理者suffix指定
rootdn "cn=Manager,dc=hogehoge,dc=com"
# 93行目:(1)のパスワードを追記
rootpw {MD5}**********************
———————————————————————-
# /sbin/chkconfig ldap on
# /sbin/chkconfig –list ldap
設定ファイルに間違いがないかを確認しよう。
# /usr/sbin/slaptest -v
config file testing succeeded
続いてOpenLDAPが後ろで使う Berkeley DB のパラメーター・ファイルをサンプルそのままコピーする。
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
現状のLDAPツリーは空っぽなので、基礎となるデータを挿入する必要がある。
データを
/var/lib/ldap/ldif/init.ldif
として作成した。
# mkdir /var/lib/ldap/ldif
# touch /var/lib/ldap/ldif/init.ldif
# chmod -R 600 /var/lib/ldap/ldif
vi /var/lib/ldap/ldif/init.ldif
—————————————————————-
dn: dc=hogehoge,dc=com
objectClass: organization
objectClass: dcObject
o: hogehoge Lab.
dc: hogehoge
dn: cn=Manager,dc=hogehoge,dc=com
objectClass: organizationalRole
cn: Manager
dn: ou=People,dc=hogehoge,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Services,dc=hogehoge,dc=com
objectClass: organizationalUnit
ou: Services
dn: ou=Groups,dc=hogehoge,dc=com
objectClass: organizationalUnit
ou: Groups
dn: ou=Machines,dc=hogehoge,dc=com
objectClass: organizationalUnit
ou: Machines
—————————————————————-
# /usr/bin/ldapadd -x -W -D "cn=Manager,dc=hogehoge,dc=com" -f /var/lib/ldap/ldif/init.ldif
Enter LDAP Password:
adding new entry "dc=hogehoge,dc=com"
adding new entry "cn=Manager,dc=hogehoge,dc=com"
adding new entry "ou=People,dc=hogehoge,dc=com"
adding new entry "ou=Services,dc=hogehoge,dc=com"
adding new entry "ou=Groups,dc=hogehoge,dc=com"
adding new entry "ou=Machines,dc=hogehoge,dc=com"
削除する場合
/usr/bin/ldapdelete -x -W -D "cn=Manager,dc=hogehoge,dc=com" -f /var/lib/ldap/ldif/del_init.ldif
/var/lib/ldap/ldif/del_init.ldif
————————————-
ou=People,dc=hogehoge,dc=com
ou=Services,dc=hogehoge,dc=com
ou=Groups,dc=hogehoge,dc=com
ou=Machines,dc=hogehoge,dc=com
————————————-
このままではすべてのユーザーがすべてのデータを読み書きできてしまう。そのためユーザー自身のデータはすべて変更可能、匿名ユーザーはすべての userPasswordをバインド可能、すべてのユーザーはuserPassword以外のすべてのデータを読取り可能という設定をした。なお、rootdnはこのアクセス権限設定を無視してすべてのデータを変更可能だ。
vi /etc/openldap/slapd.conf
access to attrs=userPassword
by self =rwcsx
by anonymous auth
by * none
access to *
by self =rwcsx
by * read
を追加
最後に再起動
/etc/rc.d/init.d/ldap restart