LDAPサーバ(389ds)の構築

Red Hat Enterprise Linux 7.4でOpenLDAPサーバーが非推奨になったので、今後新規構築の現場ではRed Hat Directory Serverの一部として提供されている389dsが採用されるケースが多くなると考えられます。389dsのインストールおよび各種設定について記載していきます。

スポンサーリンク

■389 Directory Server 公式サイト(https://directory.fedoraproject.org/)

389dsのインストール

epel-releaseをインストールする

# dnf install epel-release
# dnf module list | grep 389
389-ds 1.4 389 Directory Server (base)
389-directory-server next default, minimal 389 Directory Server
389-directory-server stable default [d], legacy, minimal 389 Directory Server
389-directory-server testing default [d], legacy, minimal 389 Directory Server

389-directory-server:stable/defaultを選択してインストールする

※途中でインタラクティブに答える画面が出るがいずれもyes(y)を選択する

# dnf module install 389-directory-server:stable/default
メタデータの期限切れの最終確認: 0:02:30 時間前の 2022年10月19日 20時38分08秒 に実施しました。
依存関係が解決しました。
パッケージ Arch バージョン リポジトリー サイズ
     ~略~
python36 3.6
トランザクションの概要
インストール 88 パッケージ
ダウンロードサイズの合計: 39 M
インストール後のサイズ: 134 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/88): PackageKit-glib-1.1.12-6.el8.x86_64.rpm 919 kB/s | 140 kB 00:00
     ~略~
GPG 鍵 0x2F86D6A1 をインポート中:
Userid : “Fedora EPEL (8) epel@fedoraproject.org
Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
     ~略~
完了しました!
#

初期設定

  • インスタンスの作成
# dscreate interactive
Install Directory Server (interactive mode)

基本となる組織の登録

  • LDAP初期エントリ用LDIFファイル(init.ldif)
dn: ou=Group, dc=example,dc=tv
objectClass: organizationalUnit
ou: People

dn: ou=Group, dc=example,dc=tv
objectClass: organizationalUnit
ou: Group
  • LDAP初期エントリの登録
# ldapadd -x -D “cn=Directory Manager” -W -f init.ldif
Enter LDAP Password: ******** //ディレクトリ管理者パスワード
adding new entry ” “ou=People, dc=example,dc=tv”

adding new entry “ou=Group, dc=example,dc=tv”

グループの登録

  • グループアカウントLDIFファイル(group.ldif)
dn: cn=system01,ou=Group,dc=example,dc=tv
objectClass: posixGroup
objectClass: top
cn: system01
gidNumber: 1001

dn: cn=system02,ou=Group,dc=example,dc=tv
objectClass: posixGroup
objectClass: top
cn: system02
gidNumber: 1002

dn: cn=system03,ou=Group,dc=example,dc=tv
objectClass: posixGroup
objectClass: top
cn: system03
gidNumber: 1003
  • グループアカウントのエントリ登録
# ldapadd -x -D “cn=Directory Manager” -W -f group.ldif
Enter LDAP Password: ******** //ディレクトリ管理者パスワード
adding new entry ” “cn=system01,ou=Group, dc=example,dc=tv”

adding new entry ” “cn=system02,ou=Group, dc=example,dc=tv”

adding new entry ” “cn=system03,ou=Group, dc=example,dc=tv”

ユーザアカウントの登録

ユーザアカウントのLDIFファイル(user.ldif)

dn: uid=user01, ou=People,dc=example,dc=tv
uid: user01
cn: LDAP user 01
objectClass: account
objectClass: posixAccount
objectClass: top
userPassword: user01
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/user01

dn: uid=user02, ou=People,dc=example,dc=tv
uid: user02
cn: LDAP user 02
objectClass: account
objectClass: posixAccount
objectClass: top
userPassword: user02
loginShell: /bin/bash
uidNumber: 1002
gidNumber: 1002
homeDirectory: /home/user02

dn: uid=user03, ou=People,dc=example,dc=tv
uid: user03
cn: LDAP user 03
objectClass: account
objectClass: posixAccount
objectClass: top
userPassword: user03
loginShell: /bin/bash
uidNumber: 1003
gidNumber: 1003
homeDirectory: /home/user03
  • ユーザアカウントのエントリ登録
# ldapadd -x -D “cn=Directory Manager” -W -f user.ldif
Enter LDAP Password: ******** //ディレクトリ管理者パスワード
adding new entry ” “uid=user01,ou=People, dc=example,dc=tv”

adding new entry ” “uid=user02,ou=People, dc=example,dc=tv”

adding new entry ” “uid=user03,ou=People, dc=example,dc=tv”

設定変更

389dsの設定変更は大きく分けて以下の2つ方法があります。

  • dsconfコマンドによる設定変更 (rootユーザのみ)
  • LDAP手順による設定変更

dsconfコマンドによる設定変更

  • 設定項目の一覧の取得
# dsconf <instance name> config get
  • 設定の変更
# dsconf <instance name> config replace nsslapd-accesslog-level=768
Successfully replaced “lsslapd-accesslog-level”

スキーマの管理

  • 標準で読み込んでいるスキーマファイルの確認
# ls /usr/share/dirsrv/schema
00core.ldif 10dna-plugin.ldif 50ns-directory.ldif 60pam-plugin.ldif
01core389.ldif 10mep-plugin.ldif 50ns-mail.ldif 60posix-winsync-plugin.ldif
02common.ldif 10rfc2307compat.ldif 50ns-value.ldif 60pureftpd.ldif
03entryuuid.ldif 20subscriber.ldif 50ns-web.ldif 60rfc2739.ldif
05rfc2927.ldif 25java-object.ldif 60acctpolicy.ldif 60rfc3712.ldif
05rfc4523.ldif 28pilot.ldif 60autofs.ldif 60sabayon.ldif
05rfc4524.ldif 30ns-common.ldif 60eduperson.ldif 60samba3.ldif
06inetorgperson.ldif 50ns-admin.ldif 60mozilla.ldif 60sudo.ldif
10automember-plugin.ldif 50ns-certificate.ldif 60nss-ldap.ldif 60trust.ldif

LDAPサーバのログ

389dsでは、アクセスログ、エラーログ、auditログの3つのログが記録されます。

ログの種類ログファイル名ログレベルの属性値
アクセスログaccessnsslapd-accesslog-level
エラーログerrornsslapd-errorlog-level
auditログaudit

この記事が気に入ったら
いいね ! しよう

スポンサーリンク

おすすめ

error: Content is protected !!