NIS+ の資格情報はドメインの設定後いつでも作成できます。すなわち、cred テーブルがあれば作成できます。
NIS+ 主体の資格情報を作成する
主体のホームドメインの cred テーブルに対する作成権が必要
サーバーは、主体の存在を認識している必要がある。この場合「サーバーが認識している」とは以下のことを意味する
主体がユーザーの場合、ドメインの NIS+ passwd テーブルかサーバーの /etc/passwd ファイルのどちらかにエントリが必要
主体がワークステーションン場合、ドメインの NIS+ host テーブルかサーバーの /etc/hosts ファイルのどちらかにエントリが必要
これらの条件を満たせば、-p と -P の両方のオプション付きで nisaddcred コマンドを実行できます。
LOCAL 資格
nisaddcred -p uid -P principal-name local |
DES 資格
nisaddcred -p rpc.netname -P principal-name des |
次の原則を銘記してください。
主体ユーザーの場合、LOCAL 資格と DES 資格の両方の情報を作成できます。
主体ワークステーションの場合、DES 資格情報しか作成できません。
主体のホームドメイン (ユーザーまたはマシン) でだけ DES 資格情報を作成できます。
ユーザーの LOCAL 資格情報はユーザーのホームドメインでも他のドメインでも作成できます。
UID が 11177 の morena という名前の NIS+ ユーザーの LOCAL および DES 資格情報を作成する例を次に示します。彼女の所属するドメインは doc.com. で、この例ではドメインの主体マシンから彼女の資格情報を入力します。
client# nisaddcred -p 11177 -P morena.doc.com. local client# nisaddcred -p unix.11177@sales.doc.com ¥ -P morena.doc.com. des Adding key pair for unix.11177@sales.doc.com (morena.doc.com.). Enter login password: |
Enter login password: プロンプトに対する正しい応答は morena のログインパスワードです。彼女のログインパスワードを知らない場合は、ダミーパスワードを使用します。ダミーパスワードは、次の例のように、後で chkey コマンドを使って変更できます。
ユーザーのログインパスワードを知らない場合、次に説明するようにダミーパスワードを使うことができます。
表 7-5 は、ダミーパスワードを使って資格情報を作成した管理者が、chkey コマンドを使ってパスワードを変更する方法を示します。この例では、UID が 119 の eiji という名前の管理者の資格情報を作成します。eiji はルートドメインに属しているので、rootmaster という名前のルートマスターサーバーから彼の資格情報を入力します。
表 7-5 管理者の資格情報を作成する作業
作業 |
コマンド |
---|---|
eiji の LOCAL 資格情報を作成する |
rootmaster# nisaddcred -p 119 -P eiji.doc.com. local |
eiji の DES 資格情報を作成する |
rootmaster#nisaddcred -p unix.119@doc.com -P eiji.doc.com. des Adding key pair for unix.119@doc.com (eiji.doc.com.). |
eiji のダミーパスワードを入力する |
Enter eiji's login password: nisaddcred: WARNING: password differs from login passwd |
ダミーパスワードを再度入力する |
Retype password: |
使用したダミーパスワードを eiji に伝える | |
eiji がルートマスターにログイン |
rootmaster% login: eiji |
eiji が本当のログインパスワードを入力 |
Password: |
eiji はエラーメッセージを受けたが、ログインは許可される |
Password does not decrypt secret key for unix.119@doc.com. |
eiji がログインを実行 |
rootmaster% keylogin |
eiji がダミーパスワードを入力 |
Password: dummy-password |
eiji が chkey を実行 |
rootmaster%chkey -p Updating nisplus publickey database Generating new key for'unix.119@doc.com'. |
eiji が本当のログインパスワードを入力 |
Enter login password: |
eiji が本当のログインパスワードを再入力 |
Retype password: Done. |
まず、通常の方法で eiji の資格情報を作成しますが、ダミーのログインパスワードを使用します。NIS+ は警告を発して、再入力を要求します。再入力を行うと、この操作は完了します。ドメインの cred テーブルには、ダミーパスワードに基づく eiji の資格情報が入っています。しかし、ドメインの passwd テーブル (あるいは /etc/passwd ファイル) には、まだ彼のパスワードエントリが残っているので、彼はシステムにログオンできます。
次に、eiji は本当のログインパスワードを入力して、ドメインのマスターサーバーにログインします (ログイン手順では、passwd テーブルまたは /etc/passwd ファイルのパスワードをチェックするため)。そこから eiji は、まずダミーパスワードを使用して keylogin を実行し (cred テーブルをチェックするため)、chkey -p コマンドを使用して cred エントリを本当のパスワードに変更します。
これらの 2 つの例では、主体ユーザーのホームドメインのマスターサーバーにログインしている間に、主体ユーザーの資格情報を作成しました。しかし、適切なアクセス権がある場合、別のドメインに資格を作成できます。次の構文でドメイン名を付加するだけです。
LOCAL 資格情報
nisaddcred -p uid -P principal-name local domain-name |
DES 資格情報
nisaddcred -p rpc-netname -P principal-name des domain-name |
次の例では、まず chou という名前のシステム管理者の LOCAL および DES 資格情報を、そのシステム管理者のホームドメイン (これは、たまたまルートドメイン) に作成し、次にその LOCAL 資格を doc.com ドメインに追加します。chou の UID は 11155 です。このコマンドは、ルートマスターサーバーから入力します。簡単にするため、chou の正しいログインパスワードを入力しているものとします。
rootmaster# nisaddcred -p 11155 -P chou.doc.com. local rootmaster# nisaddcred -p unix.11155@doc.com -P chou.doc.com. des Adding key pair for unix.11155@doc.com (chou.doc.com.). Enter login password: rootmaster# nisaddcred -p 11155 -P chou.doc.com. local doc.com. |
LOCAL 資格情報は、UID を NIS+ 主体名にマップします。クライアントユーザーである NIS+ 主体は、さまざまなドメインにさまざまな UID を持てますが、NIS+ 主体名は 1 つしか持てません。したがって、chou などの NIS+ 主体が自分のホームドメイン以外のドメインからログインする場合、そのドメインにパスワードエントリを持つだけではなく、そのドメインの cred テーブルに LOCAL 資格も持っていなければなりません。
主体「ワークステーション」の資格情報を作成する例を次に示します。このホスト名は starshine1 で、ルートドメインに所属しています。したがって、この資格はルートマスターサーバーから作成されます。この例では、ルートマスターにルートとしてログインしている間に資格情報を作成します。しかし、有効な資格情報と適切なアクセス権をすでに持っている場合、自分のユーザー名でログインしているときに、資格を作成できます。
rootmaster# nisaddcred -p unix.starshine1@doc.com -P ¥ starshine1.doc.com. des Adding key pair for unix.starshine1@doc.com (starshine1.doc.com.). Enter starshine1.doc.com.'s root login password: Retype password: |
パスワードプロンプトに対しては、クライアントワークステーションのスーパーユーザーパスワードを入力してください。もちろん、ダミーパスワードを使用することもできます。このダミーパスワードは、その主体ワークステーションにスーパーユーザーとしてログインすれば、後で変更できます。