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 (証明書と鍵のデータベースディレクトリー) セクションを参照してください。