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つのログが記録されます。
ログの種類 | ログファイル名 | ログレベルの属性値 |
アクセスログ | access | nsslapd-accesslog-level |
エラーログ | error | nsslapd-errorlog-level |
auditログ | audit | – |