手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 22.04 389 Directory Server #1 – インスタンス作成と suffix 設計

Ubuntu 22.04 に 389 Directory Server のインスタンスを作成する場合、最初に決めるべきものは instancesuffix、管理 DN です。LDAP は Samba、Postfix、SSSD などから参照される内部認証・ディレクトリ基盤になるため、名前空間の決め方が後続の構成に影響します。

この記事は、Ubuntu 22.04 の既存環境で 389 Directory Server の入口設定を読み直すための記事です。新規構築では Ubuntu 26.04 側の記事を優先しつつ、22.04 環境の設定確認や古い構築記録の読み替えに使ってください。

関連する記事
この記事で確認すること
  • 389 Directory Server の instancesuffix の意味
  • インストールと INF ファイルの作成
  • dscreate によるインスタンス作成
  • ldapsearchdsconf での確認
  • 後続サービスを見据えた suffix 設計
参考
書籍
参考書籍

LDAP – 設定・管理・プログラミング

LDAP の基礎、ディレクトリ設計、検索、認証連携を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

389 Directory Server の位置づけ

389 Directory Server は LDAP サーバーです。ユーザー、グループ、メール alias、Samba 用属性などをディレクトリとして管理し、他のサービスから参照できるようにします。

項目意味
suffixディレクトリツリーの基点。例: dc=example,dc=local
instance389 Directory Server の実行単位
Directory Manager389 DS の管理者 DN
LDAP entryユーザー、グループ、OU などのデータ

入口記事では、後続のユーザー登録や TLS 設定に進む前に、どの suffix を作り、どのインスタンス名で管理するかを確認します。

インストールする

389 Directory Server 本体と、確認用の LDAP クライアントコマンドをインストールします。

コマンド
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y 389-ds-base ldap-utils

INF ファイルを作成する

インスタンス作成用の INF ファイルを作成します。instance_nameroot_passwordsuffix は環境に合わせます。

コマンド
sudo tee /tmp/instance.inf <<'EOF'
[general]
config_version = 2
[slapd]
instance_name = ldap01
root_password = change-me
self_sign_cert = False
[backend-userroot]
suffix = dc=example,dc=local
EOF

root_password は Directory Manager の管理用パスワードです。検証用の値をそのまま残さず、運用環境では管理方法を決めてから設定します。

インスタンスを作成する

dscreate で INF ファイルからインスタンスを作成します。作成後は dsctl と systemd の両方で状態を確認します。

コマンド
sudo dscreate from-file /tmp/instance.inf
sudo dsctl ldap01 status
sudo systemctl status dirsrv@ldap01 --no-pager

389 Directory Server の systemd ユニットは dirsrv@インスタンス名 の形です。この例では dirsrv@ldap01 です。

suffix を確認する

作成した suffix が見えるか確認します。初期状態ではまだユーザーやグループはほとんど入っていないため、ここでは suffix と backend の存在確認を目的にします。

コマンド
ldapsearch -x -H ldap://localhost -b dc=example,dc=local dn
sudo dsconf ldap01 backend suffix list

検索できない場合は、インスタンス状態、待ち受け、suffix の指定、base DN の指定を分けて確認します。

削除して作り直す場合

検証で作り直す場合は、対象インスタンス名を確認してから削除します。削除は戻しにくいため、本番データが入っているインスタンスでは実行しません。

コマンド
sudo dsctl ldap01 status
sudo dsctl ldap01 remove --do-it

suffix 設計で先に決めること

389 Directory Server の suffix は、LDAP ツリー全体の起点になります。あとから変更するより、最初にドメイン名、組織単位、ユーザーとグループの配置先を決めておく方が安全です。

  • DNS ドメインと LDAP suffix をどう対応させるかを決める
  • ユーザー、グループ、サービスアカウントを同じ OU に混ぜない
  • Samba、SSSD、Postfix など、後続サービスが参照しやすい DN を意識する
  • 検証環境でも、本番に近い suffix と OU 構造にしておく
  • 管理 DN とサービス用 BIND DN を混同しない

まとめ

389 Directory Server の最初のポイントは、suffixinstance を決めることです。LDAP は後続の Samba、Postfix、SSSD から参照されるため、ここでの名前設計が内部基盤全体に影響します。

22.04 の既存環境を見直すときは、インスタンス名、suffix、Directory Manager、backend の対応を確認します。次の段階で TLS / LDAPS を有効化し、さらにベースエントリー、BIND ユーザー、グループ、ユーザー登録へ進みます。

関連する記事
Ubuntu 22.04 389 Directory Server #1 – インスタンス作成と suffix 設計

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る