前のページ 次のページ 目次

6. trad-NIS の設定

6.1 マスターサーバ、スレーブサーバ、クライアントを決める

マスターサーバ、スレーブサーバ、クライアントを決めるにあたっては、以下 の二つの場合が考えられます。

  1. 接続するネットワーク上に NIS サーバがある場合。
  2. 接続するネットワーク上に NIS サーバがない場合。

最初のケースでは ypbind、 ypwhich、 ypcat、 yppoll、 ypmatch といっ たクライアントプログラムを起動するだけで使えるようになります。一番重 要なのは ypbind で、このプログラムは常時に実行されている必要があり ます(つまり ps コマンドを実行したときにプロセステーブルに表示されな ければなりません)。 ypbind はいわゆるデーモンプロセスというもので、 /etc/rc.d/rc.local のようなシステムのスタートアップファイルか ら起動する必要があります。 ypbind が起動されれば、その計算機は その時点から NIS クライアントとなります。

二番目の場合、つまり NIS サーバがない場合は、通常 ypserv と呼ばれ るような NIS のサーバプログラムが必要になります。 NIS サーバの設定 の章では、 Peter Eriksson <peter@ifm.liu.se> が実装した ypserv を用いて、 Linux マシンを NIS サーバにする方法について述べ ています。 ypserv ではバージョン 0.14 からマスター/スレーブ機能 ( 動作原理 の章で述べました)がサポートされています。

他にもフリーな NIS サーバがあります。 yps というプログラムで、ド イツの Tobias Reber によって書かれたものです。マスター/スレーブ機能を 備えていますが、それ以外の点に制限があります。

6.2 必要なソフトウェア

システムライブラリ /usr/lib/libc.a (バージョン 4.4.2 以上)、 もしくはシェアードライブラリ /usr/lib/libc.sa と同バージョン の DLL には、 NIS のクライアントやサーバのプログラムをコンパイルするの に必要なシステムコールがすべて含まれています。

訳注:最近の ELF 版 libc にもちゃんと入っています。

NIS は /usr/lib/libc.a バージョン 4.5.21 でしか動かないという 報告がありますので、安全のためには、バージョン 4.5.21 以上のものを使う ようにすると良いでしょう。 NIS のクライアントプログラムは以下の場所で 手に入れることができます。

ファイル名は yp-clients-?.?.tar.gz となっているはずです。

訳注:国内では ftp://sunsite.sut.ac.jpsunsite.unc.edu をミラーしています。 また libc-5.4.21 などの最新の libc を以上を使う場合は、この yp-clients では問題が起こることがあるそうです。この場合は libc の配布ディレクトリにある yp-clients-2.2-(date-string).tar.gz を用いて下さい。

ソフトを入手したら、含まれているドキュメントに従って作業を行って下さい。

6.3 trad-NIS を使った NIS クライアントの設定

ここでは、使用するクライアントプログラムがすでにコンパイルされており、 インストールできる状態にあるものとして話を進めていきます。 ypbind デーモンは /usr/sbin に入れておくのが良いでしょう。

この作業はもちろんスーパーユーザになって行います。 ypwhichypcatyppollypmatch といったものは、すべてのユーザ が使えるディレクトリに置いて下さい(/usr/local/bin などが良い でしょう)。 ypbind/etc/rc.d/rc.inet2 に組み込む前 にテストをしてみることをお勧めします。

ypbind のテストは以下のような手順で行います。

最後に /etc/host.conf の検索列に "nis" を設 定(または追加)するのを忘れないで下さい。詳しくはマニュアルページ "resolv+.8" を参照して下さい。

ここまで来れば ypcat のような NIS クライアントプログラムを実行す ることができるはずです。 例えば NIS のパスワードデータベースを参照した い場合には、 "ypcat passwd" とします。

重要: もし上述の ypbind のテストを行なわなかった場合には、ドメイ ンネームが設定してあることと /var/yp という名前のディレクトリ が作ってあることを確認して下さい。 /var/yp がないと ypbind は正常に起動されません。

テストが終了したら、ブート時に ypbind を起ち上げて自動的に NIS クライアントにするための設定を行います。まず /etc/rc.d/rc.M から、ドメイン名を設定している箇所をみつけ、自 分のドメインネームを設定するように書き換えて下さい。次に /etc/rc.d/rc.inet2 の中から rpc.portmap デーモンが起動さ れる部分を見つけて、コメントアウトを解除し、直後に以下のコマンドを追加 して下さい。

    #
    # Start the ypbind daemon
    #
    if [ -f ${NET}/ypbind -a -d /var/yp ]; then
        echo -n " ypbind"
        ${NET}/ypbind
    fi

/etc/passwd/etc/group への記述は Sun の NIS の実 装とは少々異なります。 Sun では /etc/passwd"+:*:0:0:::"/etc/group"+:*:0:" などと記入しますが、 Linux 版では "+" を最後に追加するだけです。

訳注:原文では passwd ファイルに変更はいらない旨の記述になっていま すが、 libc-4.6.27 以降では + が必要です。

以上で設定は終了しました。リブートしてから、ブートメッセージで ypbind が正常に動作しているかどうか確認して下さい。

重要: ネットグループ機能は libc 4.5.26 から導入されました。ネット グループは NIS ドメイン内のすべてのマシン、すべてのユーザに対するアクセス 管理を可能にするもので、 /etc/passwd に以下のようなエントリが 入ります。

+@this_machine_users

4.5.26 以前の libc を用いている場合には、このようにして ypbind を動かすと、 NIS パスワードデータベースに入っているすべての ユーザがあなたのマシンにアクセスできてしまいます。


前のページ 次のページ 目次