2018年7月27日金曜日

CentOS 7 で OpenLDAP を起動する

こんばんわ

2、3日前まではものすごく暑くて、私が住んでいる街の近くの熊谷では41度とかになっていました。もうお風呂に入っているのと同じです。いや、まだ少しお風呂の方が熱いかな。。。

今日は余計な話はほどほどにします。今日はCentOSでOpenLDAPを設定します。

1.起動
DBの設定ファイルをコピーします
cp -p /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

起動時に立ち上がるようにして
systemctl enable slapd

今回は手動で起動します
systemctl start slapd


2.ldap の root パスワードを作成する
以下のように slappasswd コマンドで暗号化されたパスワードを作成する

slappasswd
New password:
Re-enter new password:
{SSHA}9xxZr7bPuTVlpxX7fIF2KmpavmytIXKK


3.ldap サーバの管理者(cn=config)のパスワードを設定する

rootPW.ldif という名前で以下のような内容のファイルを作る。

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}9xxZr7bPuTVlpxX7fIF2KmpavmytIXKK <- 2. で作成した文字列

以下のように ldapadd コマンドでパスワードを設定する

ldapadd -Y EXTERNAL -H ldapi:/// -f ./rootPW.ldif
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"

ちなみに、後でパスワードを変更する場合は、rootPW.ldif を以下のように、
add を replace に変更する。

dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}9xxZr7bPuTVlpxX7fIF2KmpavmytIXKK

4.ドメインツリーの管理者(cn=manager,dc=example,dc=com)のパスワードを作る
ldapサーバの管理者(cn=config)と同じでも、異なるものでも良い。
異なるものの方がふさわしい気がする。

slappasswd
New password:
Re-enter new password:
{SSHA}VXXOCmVuZMmX8WUidMcoBWsV6j1cPoj9

5.ドメイン管理者(cn=manager,dc=example,dc=com)を作る

chdomain.ldif という名前で以下のような内容のファイルを作る。

dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=Manager,dc=example,dc=com" read by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=example,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=example,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW:{SSHA}VXXOCmVuZMmX8WUidMcoBWsV6j1cPoj9 <- 4.で作成した文字列


以下のように ldapadd コマンドでcn=manager,dc=example,dc=comを作る。

ldapadd -Y EXTERNAL -H ldapi:/// -f ./chdomain.ldif


ちなみに、後でパスワードを変更する場合は、以下のように
add を replace にした ldif を作る。ldapadd コマンドは同じ。

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW:{SSHA}5m1ba/7FTAeHVhx/bi80XwcTQXcWT/3R


6.ドメインツリーを作る
以下のようにドメインツリーを記述したファイルを base.ldif という名前で作る。
example.com というドメインと PeopleとGroupというOUを作る。

# Domain dn: dc=example,dc=com
objectClass: dcObject
objectClass: organization
dc: example
o: Example Inc.

# People
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People

# Group
dn: ou=Group,dc=example,dc=com
objectClass: organizationalUnit
ou: Group

以下のようにldapadd コマンドで登録する。
ドメインの設定はドメインの管理者(cn=manager,dc=example,dc=com)でやる。

ldapadd -x -D "cn=manager,dc=example,dc=com" -W -f base.ldif
Enter LDAP Password:
adding new entry "dc=example,dc=com"
adding new entry "ou=People,dc=example,dc=com"
adding new entry "ou=Group,dc=example,dc=com"

はい。できました。

スクリーンショット 2018-07-27 22.15.38.png

気が向いたらさらに中身を追加する方法をやります。多分気が向かない。



0 件のコメント:

結局 Kindle にケースを買いました。

 こんばんわ 私、最近ほとんど外出しなくなったのですが、妻の買い物に一緒に行って、ぼけーっと待っていたり、病院に行ってぼけーっと待っていたりする機会が多くなり、なんなら家でもボケーっとしていることが非常に多くなったためか、Kindleの出番が結構ありそうです。 前回、タブレットで...