Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)

NIS+ ルートサーバーの設定

NIS+ ドメインを設定するための最初の作業が、ルートマスターサーバーの設定です。この節では、nisserver スクリプトを使用してデフォルト設定でルートマスターサーバーを構成する方法を説明します。ルートマスターサーバーは、次のデフォルトを使用します。


注 –

nisserver スクリプトは、ルートマスターサーバーを設定するときに、ネームサービススイッチファイルを NIS+ 用に変更します。/etc/nsswitch.conf ファイルは後で変更できます。ネームサービススイッチについては、第 1 章「ネームサービススイッチ」を参照してください。


nisserver を実行してルートサーバーを設定するための前提条件

ルートマスターサーバーにしたいマシンの /etc/passwd ファイルに root のエントリがあるかどうかを確認します。

nisserver を実行する前に、次の情報が必要になります。

表 4–3 インターネットの組織ドメイン

ドメイン 

目的 

com

営利団体 

edu

教育機関 

gov

行政機関 

mil

軍事組織 

net

主要ネットワークサポートセンター 

org

非営利団体 

int

国際組織 

次の例では、ルートマスターサーバーに指定するマシンは master1 で、doc.com. が新しいルートドメインになります。


注 –

またドメイン名とホスト名が同じにならないようにします。たとえば、ルートドメインに doc.com. という名前を付けている場合、ドメイン内で使用するマシンには doc という名前は付けないでください。同様に、home というホスト名がある場合には、ドメイン名に home を使用できません。これは、サブドメインについても同様です。たとえば、すでにホスト名として west がある場合には、sales.west.doc.com というサブドメインを作成することはできません。


ルートマスターサーバーを作成する方法

  1. スーパーユーザーの PATH 変数に /usr/lib/nis を追加します。

    このパスを root の .cshrc または .profile ファイルに追加するか、または変数を直接設定します。

  2. DES 認証を使用する場合には、オプションで、Diffie-Hellman キー長を指定します。

    640 ビットの Diffie-Hellman キーとデフォルトの 192 ビットのキーを使用するには、以下を入力します。


    nisauthconf dh640-0 des

    640 ビットのキーだけを許可し、192 ビットのキーを拒否するには、以下を入力します。


    nisauthconf dh640-0
  3. 次のコマンドをスーパーユーザー (root) として入力し、ルートマスターサーバーを構成します。

    -r オプションはルートマスターサーバーを構成することを示します。-d オプションは NIS+ ドメイン名を指定します。


    master1# nisserver -r -d doc.com.
    This script sets up this machine “master1” as a NIS+ root master
    server for domain doc.com.
    Domain name : doc.com.
    NIS+ group : admin.doc.com.
    NIS (YP) compatibility : OFF
    Security level : 2=DES
    Is this information correct? (type 'y' to accept, 'n' to change)

    「NIS+ グループ」は、doc.com. ドメイン (ドメイン名は常にピリオドで終了する) の情報を変更する権限を持つユーザーのグループです。 NIS+ グループは、ドメインを削除することもできます。NIS+ グループのデフォルト名は、admin.domainname です。この名前の変更方法については、「誤った情報を変更する方法」を参照してください。

    「NIS 互換」とは、NIS+ サーバーが NIS クライアントからの情報要求を受け付けるかどうかを意味します。デフォルト設定の OFF に設定されている場合、NIS+ サーバーは NIS クライアントからの要求を処理しません。ON に設定されている場合、NIS+ サーバーはこの要求を処理します。このスクリプトでは、NIS 互換設定を変更できます。「誤った情報を変更する方法」を参照してください。


    注 –

    このスクリプトは、マシンを NIS+ セキュリティの最高レベルであるセキュリティレベル 2 で設定します。このスクリプトを使用する場合、セキュリティレベルを変更できません。スクリプトが終了した後、適切な NIS+ コマンドでセキュリティレベルを変更できます。セキュリティレベルの変更の詳細については、rpc.nisd のマニュアルページを参照してください。


  4. y を入力します (画面の情報が正しい場合)。

    n を入力すると、スクリプトは正しい情報の入力を要求します。n を入力した場合の操作については、「誤った情報を変更する方法」を参照してください。


    Is this information correct? (type 'y' to accept, 'n'' to change) 
    y
    This script will set up your machine as a root master server for 
    domain doc.com. without NIS compatibility at security level 2.
    Use "nisclient -r" to restore your current network service environment.
    Do you want to continue? (type `y' to continue, `n' to exit the script)
  5. y を入力して、NIS+ の構成を続けます。

    n を入力するとスクリプトは問題なく終了します。y を選んだ後でスクリプトの実行中にスクリプトを中断した場合、スクリプトは動作を停止し、それまでに作成された構成内容はそのまま残されます。スクリプトは自動回復や後始末は行いません。このスクリプトはいつでも再実行できます。


    Do you want to continue? (type 'y' to continue, 'n' to exit the script
    y
    setting up domain information “doc.com.” ...
    setting up switch information ...
    running nisinit ...
    This machine is in the doc.com. NIS+ domain.
    Setting up root server ...
    All done.
    starting root server at security level 0 to create credentials...
    running nissetup ...
    (creating standard directories & tables)
    org_dir.doc.com. created
    Enter login password:

    nissetup(1M) コマンドは、各 NIS+ テーブルのディレクトリを作成します。

  6. プロンプトに対してマシンの root パスワードを入力し、Return キーを押します。

    この例の場合、ユーザーは master1 マシンの root パスワードを入力しています。


    Wrote secret key into /etc/.rootkey
    setting NIS+ group to admin.doc.com. ...
    restarting root server at security level 2 ...
    This system is now configured as a root server for domain doc.com.
    You can now populate the standard NIS+ tables by using the
    nispopulate or /usr/lib/nis/nisaddent commands.

    これでルートマスターサーバーが構成され、NIS+ の標準テーブルを生成する用意が整いました。続けてテーブルを生成する場合は、「NIS+ テーブルの生成 (populate)」に進みます。

誤った情報を変更する方法

上記の手順 4 で返された情報の一部あるいは全部が誤っていたために n を入力した場合、次のように表示されます。


Is this information correct? (type 'y' to accept, 'n' to change)
 n
Domain name: [doc.com.]
  1. ドメイン名が正しい場合は Return キーを押します。誤っている場合は、正しいドメイン名を入力して Return キーを押します。

    この例では、Return キーを押して、目的のドメイン名が doc.com. であることを確定しました。次に、このスクリプトは NIS+ グループ名の確認を要求します。


    Is this information correct? (type 'y' to accept, 'n' to change)
     n
    Domain name: [doc.com.]
    NIS+ group: [admin.doc.com.]
  2. NIS+ グループが正しければ Return キーを押します。間違っている場合、正しい NIS+ グループ名を入力して Return キーを押します。

    この例では、名前を変更しました。次に、スクリプトは NIS 互換性の入力を要求します。


    NIS+ group: [admin.doc.com.] netadmin.doc.com.
    NIS (YP) compatibility (0=off, 1=on): [0]
  3. NIS 互換性を必要としない場合は Return キーを押します。互換性が必要な場合は 1 を入力して Return キーを押します。

    この例では、Return キーを押して、NIS 互換の状態が正しいことを確認しました。スクリプトは、情報が正しいかどうかを再度尋ねてきます。


    注 –

    このサーバーを NIS 互換に選択した場合、この選択を有効にするには、ファイルを編集して、rpc.nisd デーモンを再起動する必要があります。詳細については、「クライアントを NIS+ サーバーとして構成する方法」を参照してください。



    NIS (YP) compatibility (0=off, 1=on): [0]
    Domain name : doc.com.
    NIS+ group : netadmin.doc.com.
    NIS (YP) compatibility : OFF
    Security level : 2=DES
    Is this information correct? (type 'y' to accept, 'n' to change) 

    情報が正しい場合、「ルートマスターサーバーを作成する方法」の手順 3 に移ります。正しい情報となるまで、n を繰り返し選択できます。

Multihomed NIS+ ルートマスターサーバーの設定方法

Multihomed NIS+ サーバーを設定する手順は、単一インタフェースサーバーの設定手順と同じです。唯一の相違点は、ローカルの /etc/hosts ファイル、/etc/inet/ipnodesファイルと NIS+ の hosts テーブルおよび ipnodes テーブル内に定義する必要があるインタフェースが、単一インタフェースサーバーよりも多いという点です。ホスト情報を定義したら、nisclientnisserver スクリプトを使用して Multihomed NIS+ サーバーを設定します。Multihomed 複製サーバーの設定の詳細は、「Multihomed NIS+ 複製サーバーの設定方法」を参照してください。


注意 – 注意 –

Multihomed NIS+ サーバーを設定する場合は、サーバーの主体名はシステムのノード名と同じにする必要があります。これは、Secured RPC と nisclient を同時に使用する際の必要条件です。

ノード名と主体名が異なる場合、Secured RPC 認証は適正に動作できず、その結果 NIS+ で問題が発生します。


次に、NIS+ ルートマスターサーバーの設定手順を示します。

  1. ルートマスター上で、サーバーのホスト情報を /etc/hosts ファイルまたは /etc/inet/ipnodes ファイル内に追加します。

    たとえば、3 つの Ethernet インタフェースを装備した hostA システムの場合、/etc/hosts ファイルには次のように入力します。


    127.0.0.1 localhost loghost
    192.168.10.x hostA hostA-10 hostA-eri0
    192.168.11.y hostA hostA-11 hostA-eri1
    192.168.12.z hostA hostA-12
     
  2. nisserver を使用して、サーバーを multihomed NIS+ ルートサーバーとして設定します。


    hostA# nisserver -r -d sun.com

    上記の例では、sun.com はルートドメイン名を表しています。ルートドメイン名を指定して nisserver コマンドを実行してください。

    multihomed NIS+ ルートサーバーの設定が完了したら、このあとの設定手順は、単一インタフェースサーバーの設定手順とまったく同じです。