-
Language:
日本語
-
Language:
日本語
Red Hat Training
A Red Hat training course is available for Red Hat Directory Server
2.2. Directory Server インスタンス固有のファイルおよびディレクトリー
同じホストで実行されている複数のインスタンスを分離するには、特定のファイルおよびディレクトリーにはインスタンスの名前が含まれます。Directory Server の設定中にインスタンス名を設定します。デフォルトでは、これはドメイン名のないホスト名です。たとえば、完全修飾ドメイン名が
server.example.com の場合
、デフォルトのインスタンス名は server
になります。
Directory Server のインスタンス固有のデフォルトファイルおよびディレクトリーの場所を以下に示します。
タイプ | 場所 |
---|---|
バックアップファイル | /var/lib/dirsrv/slapd-instance_name/bak/ |
設定ファイル | /etc/dirsrv/slapd-instance_name/ |
証明書および鍵のデータベース | /etc/dirsrv/slapd-instance_name/ |
データベースファイル | /var/lib/dirsrv/slapd-instance_name/db/ |
LDIF ファイル | /var/lib/dirsrv/slapd-instance/ldif/ |
ロックファイル | /var/lock/dirsrv/slapd-instance_name/ |
ログファイル | /var/log/dirsrv/slapd-instance_name/ |
PID ファイル | /var/run/dirsrv/instance_name.pid |
インスタンス固有のスクリプト [a] | /usr/lib64/dirsrv/slapd-instance_name/ |
systemd ユニットファイル | /etc/systemd/system/dirsrv.target.wants/dirsrv@instance_name.service
|
2.2.1. 設定ファイル
各 Directory Server インスタンスは、設定ファイルを
/etc/dirsrv/slapd-インスタンス
ディレクトリーに保存します。
Red Hat Directory Server の設定情報は、ディレクトリー自体の LDAP エントリーとして保存されます。そのため、単純に設定ファイルを編集するのではなく、サーバー設定への変更はサーバー自体を使用して実装する必要があります。この設定ストレージの方法の主な利点は、ディレクトリー管理者が LDAP を使用してサーバーを再構成できることです。これにより、ほとんどの構成変更のためにサーバーをシャットダウンする必要がなくなります。
2.2.1.1. Directory Server 設定の概要
Directory Server が設定されると、デフォルト設定は、サブツリー cn=config の下に、ディレクトリー内の一連の LDAP エントリーとして保存されます。サーバーが起動すると、cn=config サブツリーの内容は、LDIF 形式のファイル(
dse.ldif
)から読み込まれます。dse.ldif
ファイルには、すべてのサーバー設定情報が含まれます。このファイルの最新バージョンは dse.ldif
と呼ばれ、最後の変更前のバージョンは dse.ldif.bak
と呼ばれ、サーバーが正常に起動する最新のファイルが dse.ldif.startOK
と呼ばれます。
Directory Server の機能の多くは、コアサーバーに接続するための個別モジュールとして設計されています。各プラグインの内部設定の詳細は、cn =plugins,cn=config 下の個別のエントリーに含まれます。たとえば、Telephone 構文プラグインの設定は、以下のエントリーに含まれています。
cn=Telephone Syntax,cn=plugins,cn=config
同様に、データベース固有の設定は以下に保存されます。 cn=ldbm database,cn=plugins,cn=config (ローカルデータベースの場合)および cn=chaining database,cn=plugins,cn=config (データベースリンクの場合)
以下の図は、cn=config ディレクトリー情報ツリー内で設定データがどのように適合するかを示しています。
図2.1 構成データを示すディレクトリー情報ツリー

2.2.1.1.1. LDIF およびスキーマ設定ファイル
Directory Server 設定データは、
/etc/dirsrv/slapd-instance
ディレクトリーの LDIF ファイルに保存されます。そのため、サーバー識別子が phonebook
で、Red Hat Enterprise Linux 7 の Directory Server の場合は、設定 LDIF ファイルはすべて /etc/dirsrv/slapd-phonebook
の下に保存されます。
このディレクトリーには、他のサーバーインスタンス固有の設定ファイルも含まれます。
スキーマ設定は LDIF 形式でも保存され、これらのファイルは
/etc/dirsrv/schema
ディレクトリーに置かれます。
以下の表は、Directory Server で提供されるすべての設定ファイルを表しています。その設定ファイルには、他の互換性のあるサーバーのスキーマも含まれます。各ファイルの前には、読み込む順序を示す番号が付いています(数値の昇順、次にアルファベットの昇順)。
表2.1 Directory Server LDIF 設定ファイル
2.2.1.1.2. サーバー設定の組織化方法
dse.ldif
ファイルには、データベースに関連するエントリーなど、サーバーの起動時にディレクトリー固有のエントリーを含むすべての設定情報が含まれます。このファイルには、ルート Directory Server エントリー(または ""
という名前の DSE)と cn=config および cn= monitor のコンテンツが含まれます。
サーバーが
dse.ldif
ファイルを生成すると、エントリーが cn=config 下のディレクトリーに表示される順序でエントリーを一覧表示します。これは通常、ベース cn=config のサブツリースコープの LDAP 検索の順序と同じです。
dse.ldif
には cn=monitor エントリーも含まれています。これは主に読み取り専用ですが、ACI を設定できます。
注記
dse.ldif
ファイルには、cn=config のすべての属性は含まれません。管理者によって属性が設定されておらず、デフォルト値がある場合は、サーバーはその属性を dse.ldif
に書き込みません。cn=config のすべての属性を表示するには、ldapsearch を使用します。
2.2.1.1.2.1. 設定属性
設定エントリー内では、各属性は属性名として表されます。属性の値は属性の設定に対応します。
以下のコード例は、Directory Server の
dse.ldif
ファイルの一部になります。この例では、スキーマチェックが有効になっていることを示しています。これは、属性 nsslapd-schemacheck
で表されます。これは、値を取ります 。
dn: cn=config objectclass: top objectclass: extensibleObject objectclass: nsslapdConfig nsslapd-accesslog-logging-enabled: on nsslapd-enquote-sup-oc: off nsslapd-localhost: phonebook.example.com nsslapd-schemacheck: on nsslapd-port: 389 nsslapd-localuser: dirsrv ...
2.2.1.1.2.2. プラグイン機能の設定
Directory Server プラグイン機能の各部分の設定には、独自のエントリーと、サブツリー cn=plugins,cn=config 下の属性セットがあります。以下のコード例は、例のプラグイン、Telephone Syntax プラグインの設定エントリーの例です。
dn: cn=Telephone Syntax,cn=plugins,cn=config objectclass: top objectclass: nsSlapdPlugin objectclass: extensibleObject cn: Telephone Syntax nsslapd-pluginType: syntax nsslapd-pluginEnabled: on
これらの属性の一部はすべてのプラグインに共通するものもあれば、特定のプラグインに固有のものである場合があります。cn=config サブツリーで ldapsearch を実行して、特定のプラグインで現在使用されている属性を確認します。
Directory Server がサポートするプラグイン、一般的なプラグイン設定情報、プラグイン設定属性の参照、および設定変更に必要なプラグインの一覧は、4章プラグイン実装サーバー機能に関するリファレンス を参照してください。
2.2.1.1.2.3. データベースの設定
データベースプラグインエントリーの o =NetscapeRoot サブツリーおよび cn=UserRoot サブツリーには、o=NetscapeRoot 接尾辞が含まれるデータベースの設定データ、および dc= example,dc=com などのセットアップ中に作成されたデフォルトの接尾辞が含まれます。
これらのエントリーとその子には、キャッシュサイズ、インデックスファイル、トランザクションログへのパス、監視および統計情報、データベースインデックスなど、異なるデータベース設定を設定するために使用される多くの属性があります。
2.2.1.1.2.4. インデックスの設定
インデックス設定情報は、以下の情報ツリーノードの Directory Server のエントリーとして保存されます。
- cn=index,o=NetscapeRoot,cn=ldbm database,cn=plugins,cn=config
- cn=index,cn=UserRoot,cn=ldbm database,cn=plugins,cn=config
- cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config
一般的なインデックスの詳細は、『 『Red Hat Directory Server 管理ガイド』を参照してください』。インデックス設定属性の詳細は、「cn=config,cn=ldbm database,cn=plugins,cn=config 下のデータベース属性」 を参照してください。
2.2.1.2. サーバー設定のアクセスおよび変更
本セクションでは、設定エントリーのアクセス制御と、サーバー設定を表示および変更できる各種の方法を説明します。また、変更を行ったりする可能性のある変更の種類の制限について説明し、変更を有効にするためにサーバーを再起動する必要がある属性について説明します。
2.2.1.2.1. 設定エントリーのアクセス制御
Directory Server がインストールされると、cn=config 下のすべてのエントリーに対して、デフォルトのアクセス制御命令(ACI)が実装されます。以下のコードサンプルは、これらのデフォルト ACI の一例です。
aci: (targetattr = "*")(version 3.0; acl "Configuration Administrators Group"; allow (all) groupdn = "ldap:///cn=Configuration Administrators,u=Groups,ou=TopologyManagement,o=NetscapeRoot";) aci: (targetattr = "*")(version 3.0; acl "Configuration Administrator"; allow (all) userdn = "ldap:///uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot";) aci: (targetattr = "*")(version 3.0; acl "Local Directory Administrators Group"; allow (all) groupdn = "ldap:///ou=Directory Administrators,dc=example,dc=com";) aci: (targetattr = "*")(version 3.0; acl "SIE Group"; allow(all) groupdn = "ldap:///cn=slapd-phonebook,cn=Red Hat Directory Server, cn=Server Group,cn=phonebook.example.com,dc=example,dc=com,o=NetscapeRoot";)
これらのデフォルト ACI は、以下のユーザーによってすべての設定属性に対してすべての LDAP 操作を実行することができます。
- Configuration Administrators グループのメンバー。
- 管理者として機能するユーザーは、セットアップで設定した admin アカウントです。デフォルトでは、これはコンソールにログインしているものと同じユーザーアカウントです。
- ローカルの Directory Administrators グループのメンバー。
- SIE(Server Instance Entry)グループは、通常 Set Access Permissions プロセスを使用してメインコンソールに割り当てられます。
アクセス制御の詳細は、『 『Red Hat Directory Server 管理ガイド』を参照してください』。
2.2.1.2.2. 設定属性の変更
サーバー属性は、Directory Server Console、ldapsearch コマンドおよび ldapmodify コマンドの実行、または
dse.ldif
ファイルを手動で編集して、3 つの方法のいずれかで表示および変更できます。
注記
dse.ldif
ファイルを編集する前にサーバーを停止 する必要があります。そうしないと、変更は失われます。dse.ldif
ファイルの編集は、動的に変更できない属性の変更のみに推奨されます。詳細は 「サーバー再起動の設定変更」 を参照してください。
次のセクションでは、LDAPを使用して (Directory Server Console とコマンドラインの両方を使用して) エントリーを変更する方法、エントリーの変更に適用される制限、属性の変更に適用される制限、および再起動が必要な構成の変更を説明します。
2.2.1.2.2.1. LDAP を使用した設定エントリーの変更
ディレクトリーの設定エントリーは、Directory Server Console を使用するか、他のディレクトリーエントリーと同じ方法で ldapsearch 操作および ldapmodify 操作を実行して LDAP を使用して検索および変更できます。LDAP を使用してエントリーを修正する利点は、サーバーの実行中に変更を行うことができます。
詳細は、『Red 『Hat Directory Server 管理ガイド』の「ディレクトリーエントリーの作成」の章を参照してください』。ただし、特定の変更を考慮する前にサーバーを再起動する必要があります。詳細は 「サーバー再起動の設定変更」 を参照してください。
注記
設定ファイルのセットと同様に、Directory Server 機能に影響を与えるリスクがあるため、cn=config サブツリーのノードを変更または削除するときに注意が必要です。
常にデフォルト値を取る属性を含む設定全体を表示するには、cn=config サブツリーで ldapsearch 操作を実行します。
# ldapsearch -D "cn=Directory Manager" -W -p 389 -h server.example.com -b "cn=config" -s sub -x "(objectclass=*)"
- bindDN は、サーバーのインストール時に Directory Manager に対して選択される DN です(デフォルトではcn=Directory Manager )。
- password は、Directory Manager に選択したパスワードです。
プラグインを無効にするには、ldapmodify を使用して
nsslapd-pluginEnabled
属性を編集します。
# ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x dn: cn=Telephone Syntax,cn=plugins,cn=config changetype: modify replace: nsslapd-pluginEnabled nsslapd-pluginEnabled: off
2.2.1.2.2.2. 設定エントリーおよび属性の変更に関する制限
サーバーエントリーおよび属性を変更すると、特定の制限が適用されます。
- cn=monitor エントリーとその子エントリーは読み取り専用で、ACI の管理を除き変更できません。
- cn=config に属性が追加されると、サーバーは属性を無視します。
- 属性に無効な値を入力すると、サーバーはそれを無視します。
- ldapdelete はエントリー全体を削除するために使用されているため、ldapmodify を使用してエントリーから属性を削除します。
2.2.1.2.2.3. サーバー再起動の設定変更
サーバーの実行中に一部の設定属性は変更できません。このような場合、変更を反映するには、サーバーをシャットダウンして再起動する必要があります。この変更は、Directory Server コンソールを使用するか、手動で
dse.ldif
ファイルを編集して行う必要があります。変更を反映するためにサーバーを再起動する必要がある属性の一部は次のとおりです。このリストは網羅的ではありません。完全なリストを確認するには、ldapsearch を実行して nsslapd-requiresrestart
属性を検索します。以下に例を示します。
# ldapsearch -D "cn=Directory Manager" -W -p 389 -h server.example.com -b "cn=config" -s sub -x "(objectclass=*)" | grep nsslapd-requiresrestart
nsslapd-cachesize | nsslapd-certdir |
nsslapd-dbcachesize | nsslapd-dbncache |
nsslapd-plugin | nsslapd-changelogdir |
nsslapd-changelogmaxage | nsslapd-changelogmaxentries |
nsslapd-port | nsslapd-schemadir |
nsslapd-saslpath | nsslapd-secureport |
nsslapd-tmpdir | nsSSL2 |
nsSSL3 | nsSSLclientauth |
nsSSLSessionTimeout | nsslapd-conntablesize |
nsslapd-lockdir | nsslapd-maxdescriptors |
nsslapd-reservedescriptors | nsslapd-listenhost |
nsslapd-schema-ignore-trailing-spaces | nsslapd-securelistenhost |
nsslapd-workingdir | nsslapd-return-exact-case |
nsslapd-maxbersize [a] | |
[a]
この属性には再起動が必要ですが、検索では返されません。
|
2.2.1.2.2.4. 設定属性の削除
/etc/dirsrv/slapd-instance-name/dse.ldif
ファイルに書き込まれていない場合でも、コア設定属性はすべてサーバーで使用されるデフォルト値を持っているためです。
コア設定属性と削除できない属性の一覧の詳細は、『 『Red Hat Directory Server 管理ガイド』の該当するセクションを参照してください』。