6. NIS の設定

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

まず以下の二つの場合を考える必要があります。

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

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

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

二番目のケース、つまり NIS サーバがない場合には、 NIS サーバプログラム (通常は ypserv) も必要となります。 この文書の Section 9 では、この ypserv デーモンを用いて Linux マシンを NIS サーバに設定する方法について説明しています。

6.2. ソフトウェア

バージョン 4.4.2 以降のシステムライブラリ /usr/lib/libc.a もしくは共有ライブラリ /lib/libc.so.x には、 NIS のクライアント・サーバプログラムのコンパイルに必要なシステムコールが すべて含まれています。 GNU C Library 2 (glibc 2.x) では /lib/libnsl.so.1 も必要です。

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

ソフトを手に入れたら、同梱されている説明にしたがって下さい。 yp-clients 2.2 は libc4 または 5.4.20 までの libc5 と共に用いて下さい。 libc 5.4.21 以降と glibc 2.x には yp-tools 1.4.1 以降が必要です。 新しい yp-tools のバージョン 2.4 は、すべての Linux libc で動作します。 5.4.21 から 5.4.35 までの libc は、 NIS のコードにバグがあるので使わない方が良いでしょう。 libc 5.4.36 以降を使わないと、ほとんどの YP プログラムは動作しないでしょう。 ypbind 3.3 もすべてのライブラリで動作します。 gcc 2.8.x 以降か egcs、 glibc 2.x を利用している場合は、 ypbind-3.3-glibc5.diff パッチを ypbind 3.3 に当てる必要があります。 セキュリティに問題があるので、 可能なら ypbind 3.3 は使わないほうが良いでしょう。 ypbind-mt は、新しく開発されたマルチスレッドのデーモンです。 これには Linux 2.2 カーネルと glibc 2.1 以降が必要です。