LoginSignup
0
0

Debian 12(bookwarm)でOpenLDAPサーバを構築するぞ

Posted at

まずはOpenLDAPサーバのslapdをインストール

# apt install slapd

ブラグインを使うので、これもインストール

# apt install slapd-contrib

なんかheimdal的なものがたくさん入るので、Kerberos認証のプラグインが多いのか。

使いたいドメインがインストールしたサーバと異なる場合は再設定

# dpkg-reconfigure slapd

ドメインやらAdministratorのパスワードを聞かれるので答えていく。
設定が終わったら起動

# systemctl start slapd

/etc/ldap配下にslapdの設定ファイルがあると思ったが、ldifファイルでの設定に変更されている?
この辺はOpenLDAPが以前と管理方法を変えたのかもしれない。
記録として現在のバージョンを記載しておく

# slapd -V
@(#) $OpenLDAP: slapd 2.5.13+dfsg-5 (Feb  8 2023 01:56:12) $
        Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org>

どうも設定自体もLDAPサーバに入れていくように見える。
調査してみるとldifを直接編集してパスワードを設定するらしい。まずはハッシュ化したパスワードを作成する。

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

この結果{SSHA}XXXXXXXXXXXXXXXXXXXXXXXを設定に反映
まずは設定を反映するためのldifを作成

passwd.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}XXXXXXXXXXXXXXXXXXXXXXXXXXX

これを反映させる

# ldapmodify -Y EXTERNAL -H ldapi:/// -f passwd.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"

ここで-Y EXTERNALはユーザ認証を迂回するためのオプション、
-H ldapi:///はUNIX Domain Socketを用いるためのオプション
特に必要ない気もするが、念のため再起動

# systemctl restart slapd

これで通常のLDAPクライアントを用いて設定にアクセスできるようになった。
アカウントはcn=admin,cn=configが一般的だが、うまく入れない場合は/etc/ldap/slapd.d/cn=config/olcDatabase={0}config.ldifolcRootDNが管理者アカウント名なので確認すると良い。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0