Skip to content

Ubuntu 22.04.4LTS に OpenLDAP をインストールする

Ubuntu 24.04.4LTS へ OpenLDAP をインストールする手順をメモしておきます。

検証環境

対象 バージョン
Ubuntu 24.04.4LTS
OpenLDAP 2.5.17

インストール

OpenLDAP のパッケージは slapd という名称で提供されています。 これは「Standalone LDAP Daemon」の略だそうです。 インストールします。

apt -y install slapd ldap-utils

初期設定

OpenLDAP の基本的な設定は slapcat で確認出来ます。 初期状態では以下のようになっていました。

# slapcat
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain
structuralObjectClass: organization
entryUUID: 13c3b438-90a4-103e-9900-7b5746ea735a
creatorsName: cn=admin,dc=nodomain
createTimestamp: 20240417011801Z
entryCSN: 20240417011801.168945Z#000000#000#000000
modifiersName: cn=admin,dc=nodomain
modifyTimestamp: 20240417011801Z

初期状態のドメインは利用せず、検証用のドメイン (今回は example.com) を設定する為に dpkg-reconfigure slapd を実行します。 このコマンドを実行すると対話式の CUI でドメイン名などや管理者用パスワードなどの設定を行うことが出来ます。

dpkg-reconfigure slapd

変更された内容は slapcat で確認出来ます。

# slapcat
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: example
dc: example
structuralObjectClass: organization
entryUUID: 91575386-9046-103e-97e2-e50e5025776a
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20240416140839Z
entryCSN: 20240416140839.159018Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20240416140839Z

また、ログを出力するように設定変更を行います。 ログ変更を行う .ldif ファイルを用意します。

enable_logging.ldif
1
2
3
4
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats

.ldif ファイルを反映します。

ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f enable_logging.ldif

OU の作成

グループとユーザを配置する OU を作成します。 以下の内容で .ldif ファイルを新規作成します。

add_ou.ldif
1
2
3
4
5
6
7
dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
ou: people

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
ou: groups

.ldif ファイルを反映します。

ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_ou.ldif

グループの作成

グループを作成します。 以下の内容で .ldif ファイルを新規作成します。

add_group.ldif
1
2
3
4
5
dn: cn=group1,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: group1
gidNumber: 5001
memberUid: user1,user2

.ldif ファイルを反映します。

ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_group.ldif

ユーザの作成

グループを作成します。 slappasswd でパスワードをハッシュした文字列を生成します。

slappasswd

実行例は以下の通りです。

# slappasswd
New password:
Re-enter new password:
{SSHA}Fi8sBNRcKrw7gyYbmGAY7iOiOddPayOw

以下の内容で .ldif ファイルを新規作成します。

add_users.ldif
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
dn: uid=user1,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: user1
cn: user1
sn: user1
displayName: user1
userPassword: {SSHA}Fi8sBNRcKrw7gyYbmGAY7iOiOddPayOw
loginShell: /bin/bash
uidNumber: 5001
gidNumber: 5001
homeDirectory: /home/user1

dn: uid=user2,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: user2
cn: user2
sn: user2
displayName: user2
userPassword: {SSHA}Fi8sBNRcKrw7gyYbmGAY7iOiOddPayOw
loginShell: /bin/bash
uidNumber: 5002
gidNumber: 5002
homeDirectory: /home/user2

.ldif ファイルを反映します。

ldapadd -x -D cn=admin,dc=example,dc=com -W -f add_users.ldif