JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 でのネームサービスおよびディレクトリサービスの作業     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

パート I ネームサービスとディレクトリサービスについて

1.  ネームサービスとディレクトリサービス (概要)

2.  ネームサービススイッチ (概要)

3.  DNS の管理 (タスク)

4.  Oracle Solaris Active Directory クライアントの設定 (タスク)

パート II NIS の設定と管理

5.  ネットワーク情報サービス (概要)

6.  NIS の設定と構成 (タスク)

7.  NIS の管理 (タスク)

パスワードファイルと名前空間のセキュリティー

NIS ユーザーの管理

NIS ドメインに新しい NIS ユーザーを追加する方法

ユーザーパスワードの設定

NIS ネットグループ

NIS マップに関する作業

マップ情報の取得

マップのマスターサーバーの変更

マップのマスターサーバーを変更する方法

構成ファイルの変更

構成ファイルを更新する方法

/var/yp/Makefile の変更および使用

Makefile での作業

Makefile のマクロおよび変数の変更

Makefile エントリの変更

特定のデータベースを使用するように /var/yp/Makefile を変更する方法

データベースを削除するために Makefile を変更する方法

既存のマップの更新

デフォルトセットに付いているマップを更新する方法

更新されたマップの管理

NIS マップを伝播する

マップ転送のための cron コマンドの使用

cronypxfr でのシェルスクリプトの使用

ypxfr コマンドの直接の起動

ypxfr のアクティビティーのロギング

デフォルト以外のマップの変更

デフォルト以外のマップを変更するための makedbm コマンドの使用

テキストファイルからの新しいマップの作成

ファイルをベースとしたマップにエントリを追加する

標準入力からマップを作成する

標準入力から作成されたマップを更新する

NIS サーバーの操作

特定の NIS サーバーへのバインド

マシンの NIS ドメイン名を設定する方法

NIS と DNS を使用してマシンのホスト名とアドレスの検索を構成する方法

NIS サービスをオフにする

8.  NIS のトラブルシューティング

パート III LDAP ネームサービス

9.  LDAP ネームサービスの紹介 (概要)

10.  LDAP ネームサービスの計画要件 (タスク)

11.  LDAP クライアントと Oracle Directory Server Enterprise Edition の設定 (タスク)

12.  LDAP クライアントの設定 (タスク)

13.  LDAP のトラブルシューティング (リファレンス)

14.  LDAP ネームサービス (リファレンス)

15.  NIS から LDAP への移行 (タスク)

用語集

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

NIS マップに関する作業

このセクションには次の情報が含まれます。

マップ情報の取得

ユーザーは、ypcatypwhich、および ypmatch コマンドを使用して、マップの情報やマップに関する情報をいつでも取得できます。以降の例では、mapname はマップの正式な名前とそのニックネーム (存在する場合) の両方を指します。

マップ内のすべての値を一覧表示するには、次のように入力します。

% ypcat mapname

マップ内の鍵と値 (存在する場合) の両方を一覧表示するには、次のように入力します。

% ypcat -k mapname 

マップのすべてのニックネームを一覧表示するには、次のいずれかのコマンドを入力します。

% ypcat -x
% ypmatch -x
% ypwhich -x

使用可能なすべてのマップとそのマスターを一覧表示するには、次のように入力します。

% ypwhich -m

特定のマップのマスターサーバーを一覧表示するには、次のように入力します。

% ypwhich -m mapname

鍵をマップ内のエントリと照合するには、次のように入力します。

% ypmatch key mapname

探している項目がマップ内の鍵でない場合は、次のように入力します。

% ypcat mapname | grep item

item は検索している情報です。ほかのドメインに関する情報を取得するには、これらのコマンドの -d domainname オプションを使用します。

デフォルト以外のドメインの情報をリクエストしているマシンに、リクエストしたドメインのバインドがない場合、ypbind は、/var/yp/binding/domainname/ypservers ファイルを参照してそのドメインのサーバーのリストを探します。このファイルが存在しない場合、ypbind は RPC ブロードキャストを送出してサーバーを検索します。この場合、検索先であるドメインのサーバーは要求元マシンと同じサブネットに存在している必要があります。

マップのマスターサーバーの変更

選択したマップのマスターサーバーを変更するには、まず新しい NIS マスター上にマップを構築する必要があります。古いマスターサーバー名は既存のマップ内に鍵と値のペアとして現れるため (このペアは makedbm によって自動的に挿入されます)、新しいマスターにマップをコピーしたり、ypxfr を使用して新しいマスターにコピーを転送したりするだけでは不十分です。鍵と新しいマスターサーバー名との対応づけをし直す必要があります。マップに ASCII ソースファイルが存在する場合は、このファイルを新しいマスターサーバーにコピーします。

マップのマスターサーバーを変更する方法

  1. NIS マスターサーバー上の管理者になります。

    詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. ディレクトリを変更します。
    newmaster# cd /var/yp
  3. 作成するマップを指定する前に、/var/yp/Makefile に新しいマップのエントリが存在する必要があります。

    そうでない場合は、ここで Makefile を編集します。この例では、sites.byname という名前のマップのエントリを追加します。

  4. マップを更新または再作成するには、次のように入力します。
    newmaster# make sites.byname
  5. 古いマスターが NIS サーバーとして残っている場合は、古いマスターにリモートログイン (ssh) して /var/yp/Makefile を編集します。

    sites.byname マップを作成した Makefile のセクションをコメントアウトして、そのマップがもうそこで作成されないようにしてください。

  6. sites.bynamendbm ファイルとしてのみ存在する場合は、新しいマスターサーバー上でそれを再作成します。

    まず、ypcat コマンドを使用して、sites.byname ファイルのコピーを分解します。次に、makedbm を使用して、分解されたバージョンを実行します。

    newmaster# cd /var/yp
    newmaster# ypcat sites.byname | makedbm domain/sites.byname 

    新しいマスター上にマップを作成したあと、新しいマップのコピーをほかのスレーブサーバーに送信する必要があります。yppush を使用しないでください。これを使用すると、ほかのスレーブは新しいマスターではなく、古いマスターから新しいコピーを取得しようとします。このような動作を回避するには、一般にマップのコピーを新しいマスターサーバーから古いマスターサーバーに送り返すという方法が使用されます。これを行うには、古いマスターサーバーでスーパーユーザーになるか、同等の役割になり、次のように入力します。

    oldmaster# /usr/lib/netsvc/yp/ypxfr -h newmaster sites.byname

    これで、yppush を使用できます。スレーブサーバーは古いマスターサーバーを現行のマスターサーバーとして認識しているので、マップの現行バージョンを古いマスターサーバーから取得しようとします。クライアントがこの処理を行うときは、新しいマスターサーバーが現行のマスターサーバーとして指定されている新しいマップを取得します。

    この方法が失敗した場合は、各 NIS サーバーに root としてログインし、上に示すように ypxfr コマンドを実行することができます。

構成ファイルの変更

NIS は設定ファイルを正確に構文解析します。このため NIS 管理は容易になりますが、設定ファイルおよび構成ファイルにおける変更により、NIS の動作は影響を受けます。

次のいずれかを実行する場合は、このセクションの手順を使用します。

構成ファイルを更新する方法

次の点に注意してください。

  1. 管理者になります。

    詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. NIS サーバーを停止します。
    # svcadm disable network/nis/server
  3. 必要に応じてファイルを変更します。
  4. NIS サーバーを起動します。
    # svcadm enable network/nis/server

/var/yp/Makefile の変更および使用

/var/yp で提供されたデフォルトの Makefile を更新することにより、NIS 管理者のニーズを満たすことができます。マップを追加したり削除したり、一部のディレクトリの名前を変更できます。


ヒント - 将来の参照のために、変更していない、元の Makefile のコピーを保存しておいてください。


Makefile での作業

新しい NIS マップを追加するには、そのマップの ndbm ファイルのコピーを、ドメイン内の各 NIS サーバー上の /var/yp/domainname ディレクトリに取得する必要があります。通常これは、Makefile によって行われます。どの NIS サーバーをそのマップのマスターにするかを決定したあと、マップを容易に再構築できるように、マスターサーバー上の Makefile を変更します。異なるサーバーを異なるマップのマスターサーバーとして設定することも可能ですが、このようにするとたいていの場合、管理上の混乱を招きます。したがって、1 つのサーバーだけをすべてのマップのマスターサーバーとして設定するようにしてください。

通常、人間が読める形式のテキストファイルは、makedbm への入力に適したものにするために awksed、または grep によってフィルタリングされます。デフォルトの Makefile を参照してください。make コマンドに関する一般情報については、make(1S) を参照してください。

make が認識する依存関係の作成方法を決定する場合は、Makefile にすでに用意されているメカニズムを使用します。make では、依存ルール内の行の始まりにタブが存在するか否かが重要であることに注意してください。ほかの設定が正しくても、タブが存在しないというだけでエントリが無効になることがあります。

Makefile にエントリを追加する場合は、次の作業を行なってください。

たとえば、Makefile をオートマウンタ入力ファイルで動作させるには、auto_direct.time および auto_home.time マップを NIS データベースに追加する必要があります。

これらのマップを NIS データベースに追加するには、Makefile を変更する必要があります。

Makefile のマクロおよび変数の変更

Makefile の先頭で定義されている変数の設定は、等号 (=) の右側にある値を変更することによって変更できます。たとえば、マップへの入力として /etc にあるファイルを使用せず、代わりに /var/etc/domainname などの別のディレクトリにあるファイルを使用する場合は、DIRDIR=/etc から DIR=/var/etc/domainname に変更するようにしてください。また、PWDIRPWDIR=/etc から PWDIR=/var/etc/domainname に変更するようにしてください。

これらの変数を次に示します。

Makefile エントリの変更

次の手順では、Makefile にデータベースを追加したり削除したりする方法を説明します。

特定のデータベースを使用するように /var/yp/Makefile を変更する方法

この手順を実行するには、NIS マスターサーバーがすでに構成されている必要があります。

  1. 管理者になります。

    詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。

  2. all という単語で始まる行を、追加したいデータベースの名前を追加することによって変更します。
    all: passwd group hosts ethers networks rpc services protocols \
        netgroup bootparams aliases netid netmasks \
        audit_user auth_attr exec_attr prof_attr \
      auto_direct auto_home auto_direct.time auto_home.time

    エントリの順序は任意ですが、継続行の始まりの空白はスペースではなくタブにしてください。

  3. Makefile の最後に次の行を追加します。
    auto_direct: auto_direct.time
    auto_home: auto_home.time
  4. ファイルの途中に auto_direct.time のエントリを追加します。
    auto_direct.time: $(DIR)/auto_direct
     @(while read L; do echo $$L; done < $(DIR)/auto_direct
     $(CHKPIPE)) | \ (sed -e "/^#/d" -e "s/#.*$$//" -e "/^ *$$/d"
     $(CHKPIPE)) | \ $(MAKEDBM) - $(YPDBDIR)/$(DOM)/auto_direct;
     @touch auto_direct.time;
     @echo "updated auto_direct";
     @if [ ! $(NOPUSH) ]; then $(YPPUSH) auto_direct; fi
     @if [ ! $(NOPUSH) ]; then echo "pushed auto_direct"; fi

    次に、各変数について説明します。

    • CHKPIPE は、結果を次のコマンドにパイプする前に、パイプ (|) の左側の操作が正常に完了したことを確認します。パイプの左側の動作が正しく行われなかった場合は、「NIS make terminated」というメッセージが表示されてプロセスは終了します。

    • NOPUSH は、makefile が、新しいマップをスレーブサーバーに転送するために yppush を呼び出すことを防止します。NOPUSH が設定されていない場合は、転送は自動的に行われます。

    先頭にある while ループは、入力ファイル内のバックスラッシュで拡張された行をすべて削除するように設計されています。sed スクリプトは、コメントと空の行を削除します。

    ほかのすべてのオートマウンタマップ (auto_home や、ほかのデフォルト以外のすべてのマップなど) でも、同じ手順に従います。

  5. make コマンドを実行します。
    # make mapname

    ここで、mapname は作成するマップの名前です。

データベースを削除するために Makefile を変更する方法

Makefile で特定データベースのマップを作成しない場合は、Makefile を次のように編集してください。

  1. all 規則からデータベースの名前を削除します。
  2. 削除するデータベースのデータベースルールを削除またはコメントアウトします。

    たとえば、hosts データベースを削除するには、hosts.time エントリを削除してください。

  3. time ルールを削除します。

    たとえば、hosts データベースを削除するには、hosts: hosts.time エントリを削除してください。

  4. マスターサーバーとスレーブサーバーからマップを削除します。