1.11. .dsrc ファイルを作成して使用し、Directory Server コマンドラインユーティリティーのデフォルトオプションを設定する
~/.dsrc
ファイルは、Directory Server コマンドラインユーティリティーを使用するコマンドを簡素化します。デフォルトでは、これらのユーティリティーでは、LDAP URL やバインド識別名 (DN) などをコマンドに渡す必要があります。これらの設定を ~/dsrc
ファイルに保存すると、毎回これらの設定を指定しなくても、コマンドラインユーティリティーを使用できます。
1.11.1. .dsrc ファイルがコマンドを簡素化する方法
以下は、インスタンスの LDAP URL とバインド DN を指定する
~/.dsrc
ファイルの例です。
[server1] uri = ldap://server1.example.com binddn = cn=Directory Manager basedn = dc=example,dc=com
これらの設定により、より短い Directory Server コマンドを使用できます。たとえば、ユーザーアカウントを作成するには、次のようにします。
# dsidm server1 user create
~/.dsrc
ファイルがない場合は、コマンドでバインド DN、LDAP URL、およびベース DN を指定する必要があります。
# dsidm -D cn=Directory Manager ldap://server1.example.com -b "dc=example,dc=com" user create
1.11.2. dsctl ユーティリティーを使用して .dsrc ファイルを作成する
~/.dsrc
ファイルを手動で作成する代わりに、dsctl
ユーティリティーを使用して作成できます。
# dsctl instance_name dsrc create ...
次のオプションをコマンドに渡すことができます。
--uri
: protocol://host_name_or_IP_address_or_socket の形式で URL をインスタンスに設定します。例 :--uri ldap://server.example.com
--uri = ldaps://server.example.com
--uri = ldapi://%%2fvar%%2frun%%2fslapd-instance_name.socket
Directory Server ソケットへのパスを設定する場合は、パスにスラッシュ (/) ではなく %%02 を使用します。重要ldapi URL を使用すると、サーバーは、Directory Server コマンドラインユーティリティーを実行するユーザーのユーザー ID (UID) とグループ ID (GID) を識別します。root
ユーザーとしてコマンドを実行すると、UID と GID の両方が 0 になり、Directory Server は、対応するパスワードを入力しなくても、cn=Directory Manager
としてユーザーを自動的に認証します。
--starttls
: LDAP ポートに接続し、STARTTLS コマンドを送信して、暗号化された接続に切り替えるように、ユーティリティーを設定します。--basedn
: 基本識別名 (DN) を設定します。例:--basedn dc=example,dc=com
--binddn
: バインド DN を設定します。例:--binddn cn=Directory Manager
--pwdfile
: バインド DN のパスワードを含むファイルへのパスを設定します。例:--pwdfile /root/rhds.pwd
--tls-cacertdir
: LDAPS 接続を使用する場合、このパラメーターに設定されたパスは、サーバーの証明書を検証するために必要な認証局 (CA) 証明書を含むディレクトリーを定義します。例:--tls-cacertdir /etc/pki/CA/certs/
指定したディレクトリーに CA 証明書をコピーした後、c_rehash /etc/pki/CA/certs/ コマンドを使用する必要があることに注意してください。--tls-cert
: サーバーの証明書への絶対パスを設定します。例:--tls-cert /etc/dirsrv/slapd-instance_name/Server-Cert.crt
--tls-key
: サーバーの秘密鍵への絶対パスを設定します。例:--tls-key /etc/dirsrv/slapd-instance_name/Server-Cert.key
--tls-reqcert
: クライアントユーティリティーが TLS セッションでサーバー証明書に対して実行するチェックを設定します。例:--tls-reqcert hard
以下のパラメーターを利用することができます。- never: ユーティリティーはサーバー証明書を要求または確認しません。
- allow: ユーティリティーは証明書エラーを無視し、接続はとにかく確立されます。
- hard: ユーティリティーは証明書エラーで接続を終了します。
--saslmech
: 使用する SASL メカニズムを PLAIN または EXTERNAL に設定します。例:--saslmech PLAIN
1.11.3. Directory Server ユーティリティー使用時のリモートおよびローカル接続の解決
Directory Server 接続を保護する場合、Directory Server コマンドのリモート呼び出しとローカル呼び出しを区別することが重要です。
LDAP URL を指定して Directory Server コマンドを実行すると、サーバーは、それをリモート接続と見なし、コマンドを続行するために、システム全体の設定とともに
/etc/openldap/ldap.conf
設定ファイルをチェックします。
インスタンス名を指定して Directory Server コマンドを実行すると、サーバーは、
~/.dsrc
ファイルが存在するかどうかを確認し、次のロジックを適用して続行します。
~/.dsrc
ファイルが存在し、インスタンス名と LDAP URL の両方が含まれている場合、Directory Server は、それをリモート接続と見なし、/etc/openldap/ldap.conf
設定ファイルとシステム全体の設定をチェックします。~/.dsrc
ファイルが存在し、指定されたインスタンス名のみが含まれている場合、または~/.dsrc
ファイルが存在しない場合、Directory Server は、それをローカル接続と見なし、ローカルのdse.ldif
ファイルのnsslapd-certdir
設定を使用して、接続を保護します。nsslapd-certdir
が存在しない場合、サーバーは、デフォルトパス/etc/dirsrv/slapd-instance_name/
を使用して、インスタンスの Network Security Services (NSS) データベースを保存します。
nsslapd-certdir
パラメーターの詳細については、nsslapd-certdir (証明書と鍵のデータベースディレクトリー) セクションを参照してください。