手当たり次第に書くんだ

飽きっぽいのは本能

Apache Directory Studio で LDAP ユーザーを管理する – GUI クライアントの使いどころ

Apache Directory Studio を使って、LDAP 上に Linux 用のグループとユーザーを作成する手順を整理します。

元々この記事は、OpenLDAP を構築した後に、GUI から posixGroupposixAccount を追加するためのメモでした。現在の視点では、Apache Directory Studio は LDAP 管理の主役というより、DIT の確認、属性の編集、LDIF の作成、GUI での動作確認に使うツールとして考えると扱いやすいです。

Apache Directory Studio は ApacheDS そのものではありません。Apache Directory Studio は Eclipse ベースの LDAP browser / directory client で、OpenLDAP や Active Directory などの LDAP サーバーへ接続して、エントリの参照、作成、編集、削除、LDIF 編集を行うためのクライアントです。

前提

この記事では、LDAP サーバー側に次のような OU が既に存在している前提で説明します。DN は環境に合わせて読み替えてください。

dc=example,dc=com
ou=groups,dc=example,dc=com
ou=users,dc=example,dc=com

また、管理用 bind DN と password が分かっている必要があります。古い OpenLDAP 構成では rootdn / rootpw として設定していたものに相当します。

LDAP サーバーへ接続する

STEP 1 Apache Directory Studio を起動する
STEP 2 メニューから LDAPNew Connection を選ぶ
STEP 3 Connection name に分かりやすい名前を入力する
STEP 4 Hostname に LDAP サーバーの FQDN または IP アドレスを入力する
STEP 5 Bind DN or user に管理用 DN を入力する
STEP 6 Bind password に password を入力して接続する

接続先が LDAPS の場合は、ポートや暗号化設定、証明書の信頼設定も確認します。検証環境では自己署名証明書を使うこともありますが、本番運用では証明書の発行元と更新手順を決めておく必要があります。

項目意味
Hostnameldap.example.comLDAP サーバーの FQDN または IP アドレス
Port389 / 636LDAP または LDAPS の待受ポート
Bind DNcn=admin,dc=example,dc=com管理操作に使う DN
Base DNdc=example,dc=com検索や表示の起点

グループを追加する

Linux のグループに相当する LDAP エントリは、一般的に posixGroup を使います。ここでは GROUP01 というグループを作る例にします。

STEP 1 LDAP Browser で ou=groups を右クリックする
STEP 2 NewNew Entry... を選ぶ
STEP 3 Create entry from scratch を選ぶ
STEP 4 objectClass に topposixGroup を追加する
STEP 5 RDN に cn=GROUP01 を指定する
STEP 6 gidNumber に Linux の GID に相当する数値を設定する

LDIF で書くと、次のようなエントリです。

dn: cn=GROUP01,ou=groups,dc=example,dc=com
objectClass: top
objectClass: posixGroup
cn: GROUP01
gidNumber: 1000

ユーザーを追加する

Linux のユーザーに相当する LDAP エントリは、posixAccount を中心に作成します。ここでは USER01GROUP01 に所属させる例にします。

STEP 1 LDAP Browser で ou=users を右クリックする
STEP 2 NewNew Entry... を選ぶ
STEP 3 Create entry from scratch を選ぶ
STEP 4 objectClass に topaccountposixAccount を追加する
STEP 5 RDN に uid=USER01 を指定する
STEP 6 cnuidNumbergidNumberhomeDirectoryloginShell を設定する

LDIF で書くと、次のような形になります。

dn: uid=USER01,ou=users,dc=example,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
uid: USER01
cn: USER01
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/USER01
loginShell: /bin/bash

password 属性の扱い

Apache Directory Studio では、userPassword 属性を追加し、ダブルクリックして password editor から値を設定できます。ハッシュ方式を選べる環境では、LDAP サーバー側の対応と認証方式に合わせて選びます。

ただし、password を GUI で直接設定する運用は、少人数の検証や初期構築では便利ですが、継続運用では監査性や再現性が弱くなります。手順として残す場合は、LDIF、管理コマンド、パスワード変更フローを分けて考える方が安全です。

GUI と LDIF の使い分け

Apache Directory Studio は便利ですが、すべての LDAP 管理を GUI に寄せる必要はありません。GUI と LDIF / CLI は役割を分けると扱いやすくなります。

方法向いている用途注意点
Apache Directory StudioDIT の確認、属性の確認、少数エントリの手動編集手作業になりやすく、変更履歴が残りにくい
LDIF同じ構造の再投入、レビュー、バックアップ、差分管理DN と属性の設計を理解しておく必要がある
ldapsearch / ldapmodify自動化、検証、スクリプト化コマンドのオプションや bind 情報の扱いに注意が必要

運用上の注意点

  • GUI で作ったエントリも、できるだけ LDIF として残す
  • uidNumbergidNumber の重複を避ける
  • 管理用 bind DN を日常作業で使い回さない
  • LDAPS または StartTLS で認証情報を保護する
  • password 変更とアカウント作成を同じ作業として混ぜない
  • SSSD や Samba から参照する場合は、必要な objectClass と属性を先に整理する

まとめ

Apache Directory Studio は、LDAP のツリー構造や属性を目で確認しながら操作できるため、OpenLDAP の学習や検証には今でも便利です。特に、posixGroupposixAccount のようなエントリを作り、実際にどの属性が必要になるのかを確認する用途に向いています。

一方で、継続運用では GUI だけに依存せず、LDIF や ldapmodify に落とせる形で管理した方が安全です。Apache Directory Studio は、LDAP 管理の唯一の手段ではなく、構造を見ながら理解し、必要に応じて手動修正するためのクライアントとして使うのがよいと思います。

参考

関連記事

Apache Directory Studio で LDAP ユーザーを管理する – GUI クライアントの使いどころ

コメントを残す

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

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

トップへ戻る