1.2. Directory Server で NSS データベースをアンロックする方法

Directory Server は、証明書署名要求 (CSR)、秘密鍵、および証明書をネットワークセキュリティーサービス (NSS) データベースに保存します。新規インスタンスをインストールすると、インストーラーは NSS データベースを自動的に作成し、無作為にパスワードで保護します。インストーラーは、このパスワードを以下のファイルに保存します。

  • /etc/dirsrv/slapd-instance_name/pwdfile.txt: dsconf tls コマンドは、このファイルを使用して NSS データベースにアクセスします。
  • /etc/dirsrv/slapd-instance_name/pin.txt: このファイルには、Directory Server の起動時に NSS データベースを自動的にアンロックするトークンとパスワードが含まれます。

    • インスタンスを起動するたびに、Directory Server が NSS データベースのパスワードを要求するようにするには、このファイルを削除します。
    • パスワードを要求せずにインスタンスを自動的に起動するようにするには、NSS データベースパスワードを変更する場合にこのファイルを保存して更新します。

/etc/dirsrv/slapd-instance_name/pin.txt ファイルが存在しない場合は、暗号化を有効にして Directory Server を起動し、NSS データベースにパスワードを設定すると、動作は以下のようになります。

  • systemctl ユーティリティーまたは dsctl ユーティリティーが ns-slapd Directory Server プロセスを開始すると、systemd サービスはパスワードを要求して、自動的に systemd-tty-ask-password-agent ユーティリティーに入力を渡します。

    # dsctl instance_name start
    Enter PIN for Internal (Software) Token: (press TAB for no echo)
  • まれに、ns-slapd Directory Server プロセスが systemctl ユーティリティーまたは dsctl ユーティリティーで開始されず、プロセスがターミナルから切り離されていると、ns-slapd は、wall コマンドを使用してすべてのターミナルにメッセージを送信します。

    Broadcast message from root@server (Fri 2021-01-01 06:00:00 CET):
    
    Password entry required for 'Enter PIN for Internal (Software) Token:' (PID 1234).
    Please enter password with the systemd-tty-ask-password-agent tool!

    パスワードを入力するには、次のコマンドを実行します。

    # systemd-tty-ask-password-agent
    Enter PIN for Internal (Software) Token: