Solaris ネーミングの設定と構成

第 9 章 NIS+ テーブルの設定

この章では、NIS+ コマンドセットを使用して、/etc ディレクトリ内のファイルや NIS マップからマスターサーバー上に NIS+ テーブルを作成する方法について説明します。また、この章では NIS+ テーブルから NIS マップへ情報を戻す方法と、passwd テーブルのパスワード列へのアクセスを制限する方法を説明します。

テーブルの設定


注 -

NIS+ テーブルを生成する作業は、この章で説明する NIS+ コマンドセットを使用する方法よりも、Part I で説明した NIS+ 設定スクリプトを使用した場合の方が簡単です。この章で説明する方法は、NIS+ に精通した管理者や、設定スクリプトでは提供されない標準以外の機能や構成を必要とする管理者だけが使用してください。さらに、Solstice AdminSuite ツールをお持ちの場合は、NIS+ テーブルに関連する作業が簡単になります。


NIS+ テーブルを生成するには次の 4 種類の方法があります。

マップまたはファイルからテーブルを生成する場合、第 5 章「ルートドメインの設定」および第 8 章「非ルートドメインの構成」で説明する手順に従って、ルートまたはサブドメインの設定作業の中で、あらかじめテーブルを作成しておく必要があります。ドメインテーブルは、テーブルの作成後いつでも生成できますが、ドメインの設定が完了したらすぐに生成しておくことをお勧めします。テーブルを生成すると、クライアントに関する必要な情報がすでにドメインテーブル内に格納されることになるため、クライアントの追加が簡単にできます。

テーブルの生成の方法

ファイルまたは NIS マップからテーブルを生成する場合、つぎの 3 つの方法を使用できます。

NIS+ テーブルをファイルから生成する方法

これは /etc/hosts などの ASCII ファイルの内容を NIS+ テーブルに転送する作業です。

手順の概要は次のとおりです。

  1. データを転送する各ファイルの内容を確認します。

  2. 各ファイルのコピーを作成します。作成したコピーを実際の転送に使用します。(このガイドでは、hosts.xfr のように、転送されるファイルのコピーの最後に .xfr を付けます。)

  3. NIS+ クライアントにログインします。(テーブルを更新するための資格とアクセス権が必要です。詳細は、「ファイルのセキュリティ上の留意点」を参照)。

  4. このシェルのコマンド検索パスに /usr/lib/nis を追加します。

  5. nisaddent を使用して、次の必要なファイルを 1 つずつ転送します。

    aliases 
    bootparams 
    ethers 
    group 
    hosts 
    netgroup 
    netmasks 
    networks 
    passwd 
    protocols 
    rpc 
    services 
    shadow
    

  6. publickey ファイルを転送します。

  7. オートマウンタ情報を転送します。

  8. 複製サーバーに対して nisping を実行します。

  9. テーブルにチェックポイントを実行します。

ファイルのセキュリティ上の留意点

NIS+ テーブルは、NIS+ クライアントまたは NIS+ ルートマスターサーバーから生成できます。NIS+ テーブルを生成するには、スーパーユーザー (ルート) としてログインする必要はありませんが、一定の資格とアクセス権は必要です。テーブル内のエントリをテキストファイルのエントリによって置換またはマージする場合、そのテーブルへの作成権と削除権が必要です。新しいエントリを追加する場合、作成権だけが必要です。


注 -

NIS+ のセキュリティシステムは複雑です。NIS+ のセキュリティに精通していない場合は、Solaris ネーミングの管理のセキュリティ関連の章を読んでから NIS+ 環境の設定を始めてください。


この処理が完了した後、テーブルエントリは、動作を実行した NIS+ 主体と、環境変数 NIS_GROUP によって指定されたグループによって所有されます。

前提条件

必要な情報

転送されるテキストファイルの名前と位置が必要です。

NIS+ テーブルをファイルから生成する方法

  1. データを転送する各ファイルをチェックします。

    不正なエントリがないことを確認します。正しいデータが、所定の場所に正しい書式で記録されていることを確認します。エントリのうち、古いもの、無効なもの、破損しているものは削除します。また、不完全なエントリや一部のみのエントリも削除します。不完全なエントリは、設定を完了した後に追加する方が、不完全なエントリや破損したエントリを転送するよりも簡単です。

  2. 転送する各ファイルの作業用コピーを作成します。

    このセクションで説明する実際のファイル転送の手順では、作成した作業用コピーを使用します。各作業用コピーには、同じファイル名拡張子を付けます (たとえば、.xfr)。

    rootmaster# cp /etc/hosts /etc/hosts.xfr
    

    万が一に備えて、使用する予定のすべてのファイルを /etc 以外のディレクトリにコピーしておくのもよいでしょう。nisaddent コマンドと nispopulate コマンドでは、ファイルソースディレクトリを指定できます。

  3. NIS+ クライアントにログインします。

    この作業はどの NIS+ クライアントからでも実行できます。ただし、そのクライアントは、情報の転送先となるテーブルと同じドメインに所属していなければなりません。ここで示す例では、ルートマスターサーバーを使用します。これらの例では、システム管理者はスーパーユーザーとしてログインしているため、この操作を実際に実行している (したがって、適切な資格とアクセス権を必要とする) NIS+ 主体は、ルートマスターサーバーです。

    しかし、NIS+ テーブルを更新するだけであれば、あえてルートマスターサーバーにスーパーユーザー (ルート) としてログインする必要はありません。スーパーユーザーであれ、一般ユーザーであれ、一定の資格、権限、許可さえあれば、どのマシンからでも NIS+ テーブルを更新できます。

  4. このシェルのコマンド検索パスに /usr/lib/nis を追加します。

    テーブルごとに /usr/lib/nis/nisaddent コマンドを使用するため、検索パスに /usr/lib/nis を追加しておくと、毎回これを入力する必要がありません。ここでは、C シェルユーザーの場合と Bourne シェルまたは Korn シェルのユーザーの場合の 2 つの例を示します。

    C シェルの場合

    rootmaster# setenv PATH $PATH¥:/usr/lib/nis
    

    Bourne または Korn シェルの場合

    rootmaster# PATH=$PATH:/usr/lib/nis
    rootmaster# export PATH
    
  5. nisaddent を使用して、次のファイルを 1 度に 1 つずつ転送します。

    aliases
    bootparams
    ethers
    group
    hosts
    netgroup
    netmasks
    networks
    protocols
    rpc
    services
    

    publickeyautomounterpasswd および shadow の各ファイルは、実行する手順がそれぞれ少し異なります。publickey ファイルの場合は、手順 6 に、automounter ファイルの場合は、手順 7 に、passwd ファイルと shadow ファイルの場合は、手順 8 に進んでください。

    デフォルトでは、nisaddent はファイル情報をテーブル情報に追加します。置換またはマージを行うには、-r または -m オプションを使用します。

    置換する場合、次のように入力します。

    rootmaster# nisaddent -r -f filename table[domain]

    追加する場合、次のように入力します。

    rootmaster# nisaddent -a -f filename table [domain]

    マージする場合、次のように入力します。

    rootmaster# nisaddent -m -f filename table [domain]

    初めてテーブルを生成する場合は、デフォルトの -a オプションが最適です。NIS+ テーブルを NIS マップまたは /etc 内のファイルと同期させるための最適なオプションは -m (マージ) オプションです。

    • filename はファイル名です。通常は、nisaddent によって作成されたことを示す .xfr をファイル名の最後につけます。

    • table は NIS+ テーブル名です。domain 引数は省略可能で、テーブルを別のドメインに生成するときに使用します。ルートドメインのマスターサーバーから入力されたいくつかの例を次に示します。これらのファイルは、/etc 内のファイルを編集したものです。

    rootmaster# nisaddent -m -f /etc/hosts.xfr hosts
    rootmaster# nisaddent -m -f /etc/groups.xfr groups
    

    この作業をルート以外のサーバーから実行する場合、ルート以外のサーバーは、サポートするドメインの上のドメインに所属することに注意してください。つまり、ルート以外のサーバーはもう一つのドメインのクライアントです。たとえば、sales.doc.com. マスターサーバーは doc.com. ドメインに所属します。そのマスターサーバーからテーブルを sales.doc.com. ドメインに生成するには、nisaddent 文に sales.doc.com. ドメイン名を追加しなければなりません。たとえば、次のようになります。

    salesmaster# nisaddent -f /etc/hosts.xfr hosts sales.doc.com.
    

    この作業を sales.doc.com. ドメインのクライアントとして実行した場合、このコマンドにドメイン名を指定する必要はありません。nisaddent については、Solaris ネーミングの管理のテーブルに関連する章を参照してください。

    エントリが NIS+ テーブルに転送されたことを確認するには、niscat コマンドを使用します。 詳細は、Solaris ネーミングの管理のテーブルに関する章を参照してください。

    rootmaster# niscat groups.org_dir
    root::0:root 
    other::1::
    bin::2:root,bin,daemon .

    障害追跡のこつ: niscat を実行しても表示された内容が反映されてない場合、それは、変更がマスターサーバーから複製サーバーに送られていないためかもしれません。そのような場合は、5 〜 10 分後にもう一度 niscat の実行を試みるか、niscat-M オプションを付けて実行してください。-M オプションを付けると、マスターサーバーのデータが取得されます。

  6. publickey ファイルを転送します。

    ドメインの cred テーブルには、すでにいくつかの資格が格納されているため、この cred テーブルに転送する publickey テキストファイルの内容によって、これらの資格が上書きされないよう確認する必要があります。これを避けるには、publickey テキストファイルからこれらの資格を取り除きます。rootmasterの場合、次のようになります。

    unix.rootmaster@doc.com public-key:private-key

    こうすれば、publickey ファイルの内容を cred テーブルに転送できます。nisaddent-a (追加) オプションを付けて実行します。

    rootmaster# nisaddent -a -f /etc/publickey.xfr -t cred.org_dir publickey [domain] 
    

    ただし、この操作は DES 資格を cred テーブルに転送するだけです。主体は、cred テーブルに対する自分の LOCAL 資格を作成する必要があります。

  7. オートマウンタ情報を転送します。

    nissetup ユーティリティは auto_master テーブルと auto_home テーブルを作成しますが、これらは標準の NIS+ テーブルとはみなされません。したがって、これらのテーブルに情報を転送するには、少し異なる構文が必要となります。特に、-t フラグを使用し、そのテーブルが key-value 形式であることを指定しなければなりません。

    rootmaster# nisaddent -f auto.master.xfr -t auto_master.org_dir key-value
    rootmaster# nisaddent -f auto.home.xfr -t auto_home.org_dir key-value 
    
  8. NIS+ パスワードテーブルを作成します。

    NIS+ のパスワードテーブルは、/etc/passwd および /etc/shadow の両方のディレクトリのファイルから引き出されるデータで構成されます。このため、nisaddent を 2 回実行してパスワードテーブルを作成しなければなりません。passwd テーブルを対象として /etc/passwd ファイルからデータを引き出す場合と、shadow テーブルを対象として /etc/shadow ファイルからデータを引き出す場合の 2 回実行します。(shadow ファイルに対して nisaddent を実行する場合、shadow テーブルが存在しなくても、ターゲットテーブルに shadow を指定すること、そしてデータが実際に passwd テーブルの shadow 列に配置されることに注意してください。)

    rootmaster# nisaddent -m -f /etc/passwd.xfr passwd
    rootmaster# nisaddent -m -f /etc/shadow.xfr shadow
    
  9. nisping を実行して更新内容を複製サーバーに送ります。

    nisping を実行すると、複製サーバーに変更が反映されます。

    master1# nisping domain
    master1# nisping org_dir.domaincom. 
    master1# nisping groups_dir.domain
    
  10. テーブルに対しチェックポイントを実行します。

    ここまでの手順で、マスターサーバーと複製サーバーの NIS+ データセットがメモリ内で更新されました。今度はそれをディスク上のテーブルファイルに書き込みます。この作業を「チェックポイント」といいます。(チェックポイントは必ずしもここで実行しなければならないわけではありません。定期的に実行しさえすればいいのですが、重要な変更を加えた場合は、できるだけ早い機会にディスクに書き込むようにした方がいいでしょう。)

    この手順により、ドメインをサポートしている全サーバーは、それらの .log ファイルからディスク上のテーブルのコピーに新しい情報を転送します。ルートドメインを設定したばかりの場合、そのルートドメインにはまだ複製サーバーがないため、この手順はルートマスターサーバーだけが対象となります。チェックポイントを実行するには nisping コマンドに -C (大文字) オプションを付けて実行します。

    rootmaster# isping -C org_dirn
    Checkpointing replicas serving directory org_dir.doc.com. :
    Master server is rootmaster.doc.com. 
    Last update occurred at July 14, 1997
    Master server is rootmaster.doc.com.
    checkpoint succeeded.

    スワップ空間が不足している場合、サーバーはチェックポイントを正常に実行できませんが、そのことを通知してくれません。すべてがうまくいったことを確認する方法の 1 つは、niscat コマンドを使用してテーブルの内容を表示することです。スワップ空間が不足している場合、次のエラーメッセージが表示されます。

    can't list table: Server busy, Try Again.

    このメッセージ内容からはわかりませんが、これはスワップ空間の不足を示しています。スワップ空間を増やし、このドメインに再びチェックポイントを実行します。

NIS+ テーブルを NIS マップから生成する方法

ここでは、NIS マップの内容を NIS+ テーブルに転送します。手順を次に示します。

  1. データを転送する各 NIS マップの内容を確認します。

  2. NIS+ クライアントにログインします。

  3. このシェルのコマンド検索パスに /usr/lib/nis を追加します。

  4. nisaddent を使用して、次のマップ を 1 つずつ転送します。

    aliases 
    bootparams 
    ethers 
    group 
    hosts 
    netgroup 
    netmasks 
    networks 
    passwd  
    protocols 
    rpc 
    services
    

  5. publickey マップを転送します。

  6. オートマウンタ情報を転送します。

  7. nisping を実行して変更内容を複製サーバーに反映させます。

  8. テーブルにチェックポイントを実行します。

マップのセキュリティ上の留意点

この作業を行うシステム管理者 (またはクライアント上のスーパーユーザー) に適切な資格とアクセス権がある限り、この作業は、どの NIS+ クライアントからでも実行できます。テーブル内のエントリを NIS マップのエントリで置換またはマージする場合、そのテーブルへの作成権と削除権が必要です。新しいエントリを追加する場合、作成権だけが必要です。

この作業が完了した後、テーブルエントリは、作業を実行した NIS+ 主体 (システム管理者である自分、またはスーパーユーザーとしてログインした場合はそのクライアント) と、環境変数 NIS_GROUP によって指定されたグループによって所有されます。

前提条件

必要な情報

NIS マップの名前と位置が必要です。

NIS+ テーブルをマップから生成する方法

  1. データを転送する各 NIS マップをチェックします。

    不正なエントリがないことを確認します。正しいデータが、所定の場所に正しい書式で記録されていることを確認します。エントリのうち、古いもの、無効なもの、破損しているものは削除します。また、不完全なエントリや一部のみのエントリも削除します。不完全なエントリは、設定を完了した後に追加する方が、不完全なエントリや破損したエントリを転送するよりも簡単です。

  2. NIS+ クライアントにログインします。

    この作業はどの NIS+ クライアントからでも実行できます。ただし、そのクライアントは、情報の転送先となるテーブルと同じドメインに所属していなければなりません。ここで示す例では、ルートマスターサーバーを使用します。これらの例では、システム管理者はスーパーユーザーとしてログインしているため、この操作を実際に実行している (したがって、適切な資格とアクセス権を必要とする) NIS+ 主体は、ルートマスターサーバーです。

  3. このシェルのコマンド検索パスに /usr/lib/nis を追加します。

    テーブルごとに /usr/lib/nis/nisaddent コマンドを使用するため、コマンド検索パスに /usr/lib/nis を追加しておくと、毎回これを入力する必要がありません。ここでは、C シェルユーザーの場合の例と Bourne シェルまたは Korn シェルのユーザーの場合の例を示します。

    C シェルの場合

    rootmaster# setenv PATH $PATH¥:/usr/lib/nis
    

    Bourne または Korn シェルの場合

    rootmaster# PATH=$PATH:/usr/lib/nis
    rootmaster# export PATH
    
  4. nisaddent を使用して、次のマップを 1 度に 1 つずつ転送します。

    aliases 
    bootparams 
    ethers 
    group 
    hosts 
    netgroup 
    netmasks 
    networks 
    passwd  
    protocols 
    rpc 
    services
    

    publickey ファイルとオートマウンタマップでは、少し手順が異なります。publickey ファイルの場合は、「NIS+ テーブルをファイルから生成する方」の手順 6 に、オートマウンタファイルの場合は、手順 7 に進んでください。

    デフォルトでは、nisaddent はファイル情報をテーブル情報に追加します。置換またはマージを行うには、-r または -m のオプションを使用します。

    置換する場合、次のように入力します。

    rootmaster# nisaddent -r -y nisdomain table
    

    追加する場合、次のように入力します。

    rootmaster# nisaddent -a -y nisdomain table
    

    マージする場合、次のように入力します。

    rootmaster# nisaddent -m -y nisdomain table
    

    初めてテーブルを生成するときに最適なオプションは、デフォルトの -a オプションです。NIS+ テーブルを NIS マップまたは /etc 内のファイルと同期させるための最適なオプションは -m (マージ) オプションです。

    -y (小文字) オプションは、テキストファイルではなく、NIS ドメインを示します。nisdomain 引数は、ユーザーが NIS+ テーブルに転送しようとしているマップをもつ NIS ドメインの名前です。実際のマップを指定する必要はありません。nisaddent ユーティリティは、table 引数に対応する NIS マップを自動的に選択します。

    rootmaster# nisaddent -m -y olddoc hosts
    rootmaster# nisaddent -m -y olddoc passwd
    rootmaster# nisaddent -m -y olddoc groups
    

    最初の例では、olddoc (NIS) ドメイン内の hosts.byname マップと hosts.byaddr マップの内容を、ルートドメイン (NIS+) 内の NIS+ hosts テーブルに転送します。2 番目の例では、パスワード関連情報を格納している NIS マップを、NIS+ passwd テーブルに転送します。3 番目の例では、グループ関連情報で同じことを実行します。nisaddent コマンドの、詳細は、Solaris ネーミングの管理のテーブルに関連する章を参照してください。

  5. publickey マップを転送します。

    ドメインの cred テーブルには、すでにいくつかの資格が格納されているため、cred テーブルに転送するpublickeyマップの内容によって、これらの資格が上書きされないように確認する必要があります。

    1. 初めに、publickey マップをファイルにダンプします。続いて、テキストエディタでそのファイルをオープンします。たとえば、次のように入力します。

      rootmaster# makedbm -u /var/yp/olddoc/publickey.byname /etc/publickey.xfr
      rootmaster# vi /tmp/publickey.tmp
      
    2. publickey マップから、ログインしているワークステーションの資格を削除します。

      rootmaster の場合、削除する行は次のようになります。

      unix.rootmaster@doc.com public-key:private-key
    3. これにより、マップではなく「ファイル」の内容を cred テーブルに転送できます。nisaddent-a (追加) オプションを付けて実行します。

      rootmaster# nisaddent -a -f /etc/publickey.xfr -t cred.org_dir Publickey
      

      ただし、この操作は DES 資格を cred テーブルに転送するだけです。cred テーブルに対する自分の LOCAL 資格は自分で作成する必要があります。

  6. オートマウンタ情報を転送します。

    nissetup ユーティリティは auto_master テーブルと auto_home テーブルを作成しますが、これらは標準の NIS+ テーブルとはみなされません。したがって、これらのテーブルに情報を転送するには、少し異なる構文が必要となります。

    rootmaster# nisaddent -y olddoc -Y auto.master -t auto_master.org_dir key-value
    rootmaster# nisaddent -y olddoc -Y auto.home -t auto_home.org_dir key-value
    

    NIS ドメイン名 (この例では olddoc) と同様、-m-y のオプションが必要です。しかし、NIS マップ名 (auto.master など) の前には -Y (大文字) を付けなければなりません。次に、オートマウンタの「テキストファイル」を転送するときに必要なように、標準の NIS+ テーブルであることを示す -t オプションを使用しなければなりません。この引数は、NIS+ テーブル名 (auto_master.org_dir) とテーブルの種類 (key-value) です。NIS+ テーブル名の後ろには必ず接尾辞 org_dir を追加してください。

  7. nisping を実行して更新内容を複製サーバーに送ります。

    nisping を実行すると、複製サーバーに変更が反映されます。

    master1# nisping domain
    master1# nisping org_dir.domaincom. 
    master1# nisping groups_dir.domain
    
  8. テーブルに対しチェックポイントを実行します。

    この手順により、ドメインをサポートしている全サーバーが、それらの .log ファイルからディスク上のテーブルのコピーに新しい情報を転送します。ルートドメインを設定したばかりの場合、そのルートドメインにはまだ複製サーバーがないため、この手順はルートマスターサーバーだけが対象となります。nisping コマンドに -C (大文字) オプションを付けて実行します。

    rootmaster# nisping -C org_dir 
    Checkpointing replicas serving directory org_dir.doc.com. :
    Master server is rootmaster.doc.com.
    Last update occurred at July 14, 1994
    Master server is rootmaster.doc.com.
    checkpoint succeeded.

    スワップ空間が不足している場合、サーバーはチェックポイントを正常に実行できませんが、そのことを通知してくれません。すべてがうまくいったことを確認する方法の 1 つは、niscat コマンドを使用してテーブルの内容を表示することです。スワップ空間が不足している場合、次のエラーメッセージが表示されます。

    can't list table: Server busy, Try Again.

    このメッセージ内容からはわかりませんが、これはスワップ空間の不足を示しています。スワップ空間を増やし、このドメインに再びチェックポイントを実行します。

NIS+ から NIS に情報を転送する

ここでは、NIS+ テーブルの内容を、Solaris 1.x NIS マスターサーバー上の NIS マップに転送します。手順を次に示します。

  1. NIS+ サーバーにログインします。

  2. NIS+ テーブルを出力ファイルに転送します。

  3. 出力ファイルの内容を NIS マップに転送します。

NIS から NIS+ に情報を転送する際のセキュリティ上の留意点

この作業を実行するには、内容を転送する各テーブルへの読み取りアクセスが必要です。

前提条件

マップを NIS サーバー上にあらかじめ作成しておかなければなりません。

NIS+ から NIS へ情報を転送する方法

  1. NIS+ サーバーにログインします。

    この例では、dualserver という名前のサーバーを使用します。

  2. NIS+ テーブルを出力ファイルに転送します。

    次に示すように、各テーブルごとに 1 回、-d オプションを付けた nisaddent コマンドを使用します。

    dualserver% /usr/lib/nis/nisaddent -d -t table tabletype > filename
    

    -d オプションは、table の内容を filename に出力し、その内容を /etc 内の標準のファイル形式に変換して戻します。

  3. 出力ファイルの内容を NIS マップに転送します。

    NIS+ の出力ファイルは、NIS マップ用の入力ファイルとして使用できる ASCII ファイルです。これらを NIS マスターの /etc ディレクトリにコピーし、通常の方法で make を実行します。

    dualserver# cd /var/yp
    dualserver# make
    

所有者および管理者に対する Passwd へのアクセス制限

ここでは、passwd テーブルのパスワードに関係する列に対する読み取りアクセスを所有者とテーブルの管理者だけに制限し、しかも passwd テーブル内の残りの列に対する未認証主体 (アプリケーションを含む) の読み取りアクセスに影響を与えない方法を説明します。

この作業では、次のアクセス権を設定します。

                         Nobody  Owner   Group  World 
Table Level Rights:      ----    rmcd    rmcd   ---- 
Passwd Column Rights:    ----    rm--    rmcd   ---- 
Shadow Column Rights:    ----    rm--    rmcd   ----

Passwd 列のセキュリティ上の留意点

前提条件

必要な情報

必要なのは passwd テーブルの名前だけです。

パスワード列へのアクセスを制限する方法

  1. ドメインのマスターサーバーにログインします。

    この例ではルートマスターサーバー rootmaster を使用します。

  2. 現在のテーブルと列のアクセス権を確認します。

    niscat -o コマンドを実行します。

    rootmaster# niscat -o passwd.org_dir
    

    この作業では、次のような既存のアクセス権になっていることを前提としています。

    Access Rights    : ----rmcdrmcdr--- 
    	Columns		:
    	[0]  Name	: name
    		Access Rights : r-----------r---
    	[1]  Name	: passwd
    		Access Rights : -----m----------
    	[2]  Name	: uid
    		Access Rights : r-----------r---
    	[3]  Name	: gid
    		Access Rights : r-----------r---
    	[4]  Name	: gcos
    		Access Rights : r----m------r---
    	[5]  Name	: home 
    		Access Rights : r-----------r---
    	[6]  Name	: shell
    		Access Rights : r-----------r---
    	[7]  Name	: shadow 
    		Access Rights : r-----------r---

    自分のアクセス権が異なる場合、別の構文を使用する必要があります。詳細は、Solaris ネーミングの管理のアクセス権に関連する章を参照してください。

  3. テーブルのアクセス権を変更します。

    nischmod コマンドを実行して、テーブルのオブジェクトレベルのアクセス権を ----rmcdrmcd---- に変更します。

    rootmaster# nischmod og=rmcd,nw= passwd.org_dir
    
  4. 列のアクセス権を変更します。

    nistbladm コマンドを -u オプションを付けて使用して、passwd 列 および shadow 列のアクセス権を次のように変更します。

    passwd ---- rm-- ---- ---- 
    shadow ---- r--- ---- ---- 
    rootmaster# nistbladm -u passwd=o+r, shadow=o+r passwd.org_dir
    
  5. 新しいアクセス権を確認します。

    手順 2 の場合と同様、niscat -o コマンドを実行します。アクセス権は、手順 2 の出力と同じでなければなりません。

テーブルの生成のまとめ

NIS+ テーブルの生成に必要な手順のまとめを次に示しています。これは、最も簡単な場合を想定しています。このため、まとめを参考として使用する前に、作業の詳細を十分に理解しておいてください。また、このまとめでは各コマンドに対するサーバーの応答は示していません。

表 9-1 まとめ : NIS+ テーブルへのファイルの転送

作業 

コマンド 

NIS+ クライアントにログインする 

rootmaster#

転送するファイルの作業用コピーを作成する 

# cp /etc/hosts /etc/hosts.xfr

検索パスに /usr/lib/nis を追加する

# PATH=$PATH:/usr/lib/nis; export PATH

各ファイルを 1 つずつ転送する 

# nisaddent -m -f /etc/hosts.xfr hosts

publickey ファイルから古いサーバー資格を削除する

# vi /etc/publickey.xfer

資格テーブルに publickey ファイルを転送する

# nisaddent -a -f /etc/publickey.xfr cred

オートマウンタファイルを転送する 

# nisaddent -f auto.master.xfr -t auto_master.org_dir key-value

# nisaddent -f auto.home.xfr -t auto_home.org_dir key-value

テーブルディレクトリにチェックポイントを実行する 

# nisping -C org_dir

表 9-2 まとめ : NIS+ テーブルへのマップの転送

作業 

コマンド 

NIS+ クライアントにログインする 

rootmaster#

検索パスに /usr/lib/nis を追加する

# PATH=$PATH:/usr/lib/nis; export PATH

各マップを 1 つずつ転送する 

# nisaddent -m -y olddoc hosts

publickey マップをファイルにダンプする

# makedbm -u /var/yp/olddoc/publickey.byname > /etc/publickey.xfr

新しい資格を削除する  

# vi /etc/publickey.xfr

publickey ファイルを転送する

# nisaddent -a -f /etc/publickey.xfr -t cred.ortg_dir publickey

オートマウンタマップを転送する 

# nisaddent -y olddoc -Y auto.master -t auto_master.org_dir key-value

# nisaddent -y olddoc -Y auto.home -t auto_home.org_dir key-value

テーブルディレクトリにチェックポイントを実行する 

# nisping -C org_dir

表 9-3 まとめ : NIS+ テーブルを NIS マップに転送する

作業 

コマンド 

NIS+ サーバにログインする 

dualserver#

NIS+ テーブルをファイルに転送する 

# /usr/lib/nis/nisaddent -d [-ttable] tabletype > filename

ファイルを NIS マップに転送する 

# makedbm flags output-file NIS-dbm-file

表 9-4 まとめ : パスワード列へのアクセス権を変更する

作業 

コマンド 

ドメインのマスタサーバーにログインする 

rootmaster#

テーブルの既存の権利をチェックする 

# niscat -o passwd.org_dir

テーブルに新しい権利を割り当てる 

# nischmod og=rmcd,nw= passwd.org_dir

列に新しい権利を割り当てる 

# nistbladm -u passwd=o+r shadow=n+r passwd.org_dir

新しい権利を確認する 

# niscat -o passwd.org_dir