chkey コマンドは cred テーブルに格納されている NIS+ 主体の公開および非公開鍵を変更します。このコマンドは passwd テーブル内もしくは /etc/passwd ファイル内のいずれのエントリにも影響を与えません。
新規に鍵を作成し、パスワードを用いて非公開鍵を暗号化します。-p オプションをつけて実行した場合、chkey コマンドは既存の非公開鍵を新規のパスワードで再暗号化します。
新規にディフィ − ヘルマンの鍵ペアを作成し、提供されたパスワードを使用して非公開鍵を暗号化します。しかし、ほとんどの場合ユーザーは新規の鍵ペアを求めず、既存の非公開鍵を新規のパスワードを使って再暗号化しようとします。これを行うには、-p フラグを使う必要があります。
これらのテーマについての詳細は、マニュアルを参照してください。
NIS+ 環境においては、どんな管理ツールまたは passwd (もしくは nispasswd) コマンドを用いてログインパスワードを変更しても、cred テーブル内の非公開鍵は新規のパスワードを使用して自動的に再暗号化されます。従って、ログインパスワードの変更後に chkey コマンドを実行する必要はありません。
chkey コマンドはキーサーバー、cred テーブル、および passwd テーブルとの関連で動作します。chkey を実行するには次のようにします。
ホームドメインの passwd テーブルにエントリが必要です。この条件を満たさなければ、エラーメッセージが返ります。
cred テーブルの変更権を持っていなければなりません。この権限がない場合は「permission denied」などのエラーメッセージが返ります。
cred テーブル内の非公開鍵の暗号化に使われた、オリジナルのパスワードを知らなくてはなりません (ほとんどの場合、これは Secure-RPC パスワード)。
ログインパスワードを使って非公開鍵を再暗号化するために chkey コマンドを使用するには、最初にオリジナルのパスワードを用いて keylogin を実行し、次に chkey -p を実行します。表 8-1 では、主体ユーザーの keylogin と chkey の実行方法を示します。
表 8-1 非公開鍵の暗号化:コマンドの説明
作業 |
コマンド |
---|---|
ログインする |
Sirius% login Login-name |
ログインパスワードを入力する |
Password: |
ログインパスワードと Secure RPC パスワードが異なっている場合、keylogin を実行する |
Sirius% keylogin |
非公開鍵の暗号化に使用したオリジナルパスワードを入力する |
Password: Secure RPC password |
chkey を実行する |
Sirius% chkey -p Updating nisplus publickey database Updating new key for 'unix.1199@Doc.com'. |
ログインパスワードを入力する |
Enter login password: login-password |
ログインパスワードを再入力する |
Retype password: |