Network Information Service (NIS) は、以前は yellow page (yp) と 呼ばれていたネットワーク上の「情報サービス」です。この「サービス」 を走らせることによって、システム管理者は、システム全体を管理するの に必要な情報、例えばユーザ名やホスト名などを、集中的かつ自動的に、 信頼生の高い方法で、更新することが出来ます。一方、ネットワーク上の クライアントは、ネットワークのどこにいても、ネットワークで共有され るデータベースから、首尾一貫した方法で、同一の情報を得ることが出来 ます。
本研究室では、以前は SunOS4.1.1 を NIS マスターサーバ、SunOS4.1.4 を NIS スレーブサーバとして、NIS を運用してきました。それ後、都合 により NIS の運用を停止してきましたが、再び、今度は FreeBSD を NIS のサーバとして、NIS の運用をすることにしました。
本研究室の LAN は、2つのセグメントが混在している環境なので、片方の セグメントに FreeBSD3.1-Release で NIS マスターサーバ、もう片方の セグメントに FreeBSD2.2.8-Release で NIS スレーブサーバを立ち上げ ることにしました。将来はどちらか一方ののセグメントに統一するつもりです。 なお、NIS クライアントには Solaris,SunOS,Linux,FreeBSD などが存在します。
FreeBSD や SunOS 等の UNIX ではパスワードを平文で保存すると、他の ユーザにパスワードがばれてしまうために暗号化して保存します。一般的 には DES(Data Encryption Satnderd)というアメリカ商務省標準局が定め た方式によって暗号化されていますが、これはアメリカの国内法によって 輸出が禁止されているため、アメリカから外に持ち出すことが出来ません。 よって、FreeBSD のアメリカ国外版には暗号化ライブラリには DES ではなく、 MD5 という一方向性ハッシュ関数を用いたものが用いられています。そのため、 Sun などのようなパスワードの暗号化に DES を使用している OS を NIS サーバや クライアントにする場合には、パスワードを照会する時に暗号化の方式に互換性 がないと認証できませんので、FreeBSD には DES をインストールしておく必要 があります。DESキットのインストール
DES 化対象の FreeBSD に対応したバージョンの国際版 DES キットをダウンロード します。以下の URL から FreeBSD のバージョンに合わせてダウンロードします。 ftp://ftp4.jp.freebsd.org/pub/FreeBSD-nonUS/
例えば、NIS マスターサーバにする FreeBSD3.1-Release だったら、 ftp://ftp4.jp.freebsd.org/pub/FreeBSD-nonUS/3.1-RELEASE/des/ 以下にあるファイルをまるごと任意のディレクトリにダウンロードします。
次に root 権限で vipw コマンドを実行して、root のパスワードを空にします。% su Password: # vipw root:$1$peTsWZ....:0:0::0:0:root...:/bin/csh ↓ root::0:0::0:0:root...:/bin/cshダウンロードした DES キットは、DES と Kerberos のそれぞれのソースと バイナリからなります。キットの置いてあるディレクトリで ./install.sh を実行すれば、まず、バイナリ(/sbin/init などの実行ファイルと /usr/lib/lib*crypt* などのライブラリ、他に man ファイルなど)を 展開し、ついでにソースも展開するか聞いてきます。これらを全てインストール しても良いのですが、ここでは DES のソースとバイナリだけインストール します。DES キットをダウンロードしたディレクトリで、# cat ssecure.?? | tar --unlink -xpzf - -C /usr/src # cat des.?? | tar --unlink -xpzf - -C /を実行します。
インストールしたら、ライブラリが DES のものに切替えられているか確認します。 NIS マスターサーバにする FreeBSD3.1-Release では、% cd /usr/lib % ls -la lib*crypt* lrwxrwxrwx 1 root wheel 13 Jul 9 18:53 libcrypt.a@ -> libdescrypt.a lrwxrwxrwx 1 root wheel 14 Jul 9 18:53 libcrypt.so@ -> libdescrypt.so lrwxrwxrwx 1 root wheel 16 Jul 9 18:53 libcrypt.so.2@ -> libdescrypt.so.2 lrwxrwxrwx 1 root wheel 15 Jul 9 18:53 libcrypt_p.a@ -> libdescrypt_p.a -r--r--r-- 1 root wheel 13018 Feb 16 1999 libdescrypt.a lrwxrwxrwx 1 root wheel 16 Jul 9 18:53 libdescrypt.so@ -> libdescrypt.so.2 -r--r--r-- 1 root wheel 12989 Feb 16 1999 libdescrypt.so.2 -r--r--r-- 1 root wheel 14750 Feb 16 1999 libdescrypt_p.a -r--r--r-- 1 root wheel 6198 Feb 15 1999 libscrypt.a lrwxrwxrwx 1 root wheel 14 Jul 4 14:23 libscrypt.so@ -> libscrypt.so.2 -r--r--r-- 1 root wheel 7607 Feb 15 1999 libscrypt.so.2のようになっています。上記のように、/usr/lib にあるシンボリックリンク libcryptXX が、libdescryptXX を指していれば OK です。libdescryptXX は存在 するが、libcryptXX にリンクが張られていなければ、リンクを張り直します。 libdescryptXX が存在しないならば MD5 しか使えません。
以上でリブートすれば DES 対応そのものは終了です。リブート後に root のパスワードを再設定します。パスワードフィールドのDES化
DES キットをインストールしただけでは、またはインストール後も passwd コマンド などでパスワードを変更しただけでは、/etc/master.passwd などのパスワード フィールドが MD5 から DES へ切り替わらないようです。最初に MD5 でパスワード フィールドが作成されたなら、ずっと MD5 のままです。
ここで、FreeBSD のパスワードフィールドには、次の 2 種類があります。DES キットをインストールしていなければ、MD5 によるものしか扱えません。DES キットをインストールしてあれば、両方のパスワードが扱え、同じパスワードファイル に MD5 なパスワードフィールドを持つユーザと、DES なパスワードフィールドを 持つユーザが混在していても大丈夫です。
- $1$ で始まるもの(MD5による暗号化)
- $1$ で始まらないもの(DESによる暗号化)
このため、DES なパスワードフィールドに統一するには、root で vipw コマンド を実行し、DES なパスワードフィールドにしたいユーザのパスワードフィールドから $1$ を削除し、passwd コマンドで再度、パスワードを設定します。% su Password: # vipw sakai:$1$nPM7mP....:1001:20::0:0:Nobuyuki Sakai:/home/sakai:/usr/local/bin/tcsh ↓ sakai:nPM7mP....:1001:20::0:0:Nobuyuki Sakai:/home/sakai:/usr/local/bin/tcsh # passwd sakaiMD5 によるパスワードフィールドは、他の OS では通用しないのが普通です。 他の OS で動作しているシステムとパスワード情報をやり取りするには、DES による 暗号化でパスワードフィールドを統一しておく必要があります。
NIS マスターサーバには FreeBSD3.1-Release を使用します。
- NISドメインの設定
まずは domainname コマンドで NIS ドメイン名を設定します。安直な名前の NIS ドメイン名はセキュリティホールになるので、用意に想像できるドメイン名は避け た方がよいです。例として、ここではドメイン名を test とすると、# domainname testで設定します。
- /etc/hosts ファイルの編集
/etc/hosts ファイルに、NIS を利用する研究室内のマシンのホスト名とIPアドレス が記述されているか確認します。
- NISマップの構築
- /var/yp/ypservers ファイルの編集
同一ドメイン上の NIS マスターサーバ、NIS スレーブサーバのホスト名(または IP アドレス)を 1行に1ホストづつ /var/yp/ypservers に記述します。
- /var/yp/securenets ファイルの編集
/var/yp/securenets ファイルで、接続を許可するホストの IP アドレスと サブネットを記述します。書式は
ホストのIPアドレス サブネット
のようになります。例えば研究室内のホストの IP アドレスを aaa.bbb.ccc.ddd とすると、aaa.bbb.ccc.ddd 255.255.255.255というように記述します。
- /var/yp/passwd , /var/yp/master.passwd ファイルの作成
root などのシステム管理権限を持つユーザのパスワード情報を NIS クライアント に提供するようにすると、セキュリティ的に弱くなるので、ここでは、一般ユーザ のパスワード情報のみを作成することにします。 具体的には、/etc/passwd , /etc/master.passwd ファイルを /var/yp にコピーし、 NIS でパスワードを参照するユーザの行以外は削除します。# cp /etc/passwd /var/yp # cp /etc/master.passwd /var/yp # vi /var/yp/passwd (NISでパスワードを参照するユーザ以外削除) # vi /var/yp/master.passwd (NISでパスワードを参照するユーザ以外削除)- /var/yp/group ファイルの作成
NISマスターサーバの /etc/group ファイルには、システム管理に必要なグループも 記述されており、これらのグループは、NISでクライアントに提供する必要が 無いので、NISクライアントに提供したいグループ名だけを、/var/yp/group に記述します。ここでは、wheel,operator,staff グループのみNISで配ることにし、 このグループだけを /var/yp/group に記述します。
その後、/var/yp/Makefile を編集し、/var/yp/group ファイルをもとに NISマップを作成するようにします。% cd /var/yp % diff Makefile Makefile.dist 107c107 < GROUP = $(YPDIR)/group --- > GROUP = $(YPSRCDIR)/group- Make
/var/yp/Makefile を編集します。オリジナルの /var/yp/Makefile.dist ファイルを /var/yp/Makefile にコピーします。また、Makefile は書き込み禁止になっている ので、一旦、モードを変更し、書き込み許可にします。# cd /var/yp # cp Makefile.dist Makefile # chmod 644 Makefile/var/yp/Makefile を編集します。ここでは2箇所のみ変更しました。 まず、NIS スレーブサーバを用意する予定があるならば、NOPUSH = "True"をコメントアウトします。こうすることにより、NIS マスターサーバのマップ更新時 に自動的に NIS スレーブサーバのマップも更新されるようになります。また、 クライアントに FreeBSD 以外のマシンが存在するときは、#UNSECURE = "True"のコメントアウト(#)を外します。これをしないと、クライアントからのパスワードの 変更ができなくなります。変更後の Makefile を ここに置いておきます。Makefile を編集したら、再びモードを変更し、 書き込み不可にしておきます。
上記の作業が全て終わったら、/var/yp で、make を実行します。 すると、/var/yp に NIS ドメイン名(ここでは test)のディレクトリが作成され、 そこに NIS マップが作られます。これらが NIS で実際に参照されるファイルです。 また、Makefile 等を変更した場合には、必ず make を実行しておきます。# cd /var/yp # chmod 444 Makefile # make # ls test group.bygid netid.byname protocols.bynumber group.byname networks.byaddr rpc.byname hosts.byaddr networks.byname rpc.bynumber hosts.byname passwd.byname services.byname master.passwd.byname passwd.byuid ypservers master.passwd.byuid protocols.byname- /etc/passwd , /etc/master.passwd ファイルの編集
root で vipw を実行し、/etc/passwd,/etc/master.passwd ファイルを編集 します。具体的には、、NIS でパスワードを参照するユーザ(/var/yp/passwdに 記述されているユーザ)の行を削除します。 また、最後の行に+:::::0:0:::を加えます。
- /etc/group ファイルの編集
/etc/group ファイルを編集し、NISでグループ名を参照するグループの行を 削除します(ここでは、wheel,operator,staff)。また、最後の行に+:::を加えます。
- サーバデーモンを起動
/usr/sbin/ypserv で NIS のサーバデーモンが起動します。ついでに、 /usr/sbin/yppasswdd も起動しておけば、パスワードの変更が可能になります。 また、NIS スレーブサーバがあるときは、/usr/sbin/rpc.ypxfrd も立ち上げて おきます。# ypserv # rpc.yppasswdd -t /var/yp/master.passwd -s -f # rpc.ypxfrd- 動作確認
サーバ自身でクライアントになり、動作を確認します。 NIS クライアントのデーモンである /usr/sbin/ypbind を起動します。 その後、/usr/sbin/ypwhich コマンドで NIS サーバ(自分自身)が表示されればOkです。# ypbind % ypwhich master (NISマスターサーバのホスト名)- /etc/rc.conf ファイルを編集
システムの起動時にサーバデーモンが起動するように /etc/rc.conf ファイルを 編集します。今回は NIS マスターサーバに FreeBSD3.1-Release を用いましたが、 FreeBSD2.2.x と違って、/etc/default/rc.conf をみたあと、/etc/rc.conf を みるので、以下の内容を /etc/rc.conf ファイルに追加します。nisdomainname="test" # NISドメイン名を指定 nis_server_enable="YES" #ypserv を起動 nis_server_flags="" nis_ypxfrd_enable="YES" # rpc.ypxfrd を起動 nis_ypxfrd_flags="" nis_yppasswdd_enable="YES" # yppasswdd を起動 nis_yppasswdd_flags="-t /var/yp/master.passwd -s -f" # yppasswdコマンドが参照するファイル nis_client_enable="YES" #ypbind を起動 nis_client_flags=""以上の全てが終了したら、NISマスターサーバを再起動します。
NIS スレーブサーバには FreeBSD2.2.8-Release を使用します。
- NISドメインの設定
NIS マスターサーバと同じ NIS ドメイン名を指定します。# domainname test- /etc/hosts ファイルの編集
/etc/hosts ファイルに、NIS を利用する研究室内のマシンのホスト名とIPアドレス が記述されているか確認します。
- NISマップの構築
- /var/yp/ypservers ファイルの編集
NIS マスターサーバの /var/yp/ypservers をコピーします。
- /var/yp/securenets ファイルの編集
NIS マスターサーバの /var/yp/securenets をコピーします。
- NISマップのコピー
/var/yp 以下に NIS ドメイン名と同じ名前のディレクトリを作成します。 そして、ypxfr コマンドを使って NIS マスターサーバから NIS マップをコピー します。# cd /var/yp # mkdir test (NISドメイン名と同じ名前) # /usr/libexec/ypxfr -f master.passwd.byname ypxfr: Exiting: Map successfully transfered # /usr/libexec/ypxfr -f master.passwd.byuid ypxfr: Exiting: Map successfully transfered ...全ての NIS マップに対して、同様の操作を行います。
- /etc/passwd , /etc/master.passwd ファイルの編集
root で vipw を実行し、/etc/passwd,/etc/master.passwd ファイルを編集 します。具体的には、、NIS でパスワードを参照するユーザ(NISマスターサーバの /var/yp/passwdに記述されているユーザ)の行を削除します。 また、最後の行に+:::::0:0:::を加えます。
- /etc/group ファイルの編集
/etc/group ファイルを編集し、NISでグループ名を参照するグループ(NISマスター サーバの/var/yp/groupに記述されているグループ)の行を 削除します。また、最後の行に+:::を加えます。
- /etc/host.conf ファイルの編集
ホスト情報を NIS マスターサーバから引き出せるように、/etc/host.conf ファイルを編集します。以下のように nis のコメントアウトを外します。# If you have YP/NIS configured, uncomment the next line nis- 動作確認
/usr/sbin/ypserv で NIS のサーバデーモンを起動します。また、 サーバ自身でクライアントになり、動作を確認します。このとき、NIS クライアント のデーモンである /usr/sbin/ypbind を起動する際に、# ypserv # ypbind -ypsetme % ypwhich slave (NISスレーブサーバのホスト名)として、NIS マスターサーバではなく、自分自身の NIS マップをバインドするように します。しかし、-ypsetme オプションはしばしばセキュリティホールになると言わ れているので、あくまでテストのみに使用すべきオプションです。
また、通常運用時のネットワークトラフィックの減少や、NISマスターサーバダウン 時の遅延などを考慮すると、NIS スレーブサーバで実行されるクライアントは、 自分自身にバインドすべきです。この時は ypbind に -S オプションを指定します。 具体的には、# ypbind -S test,slave (NISドメイン名:test , NISスレーブサーバ:slave)とします。詳しくは ypbind のマニュアルを御覧ください。
- /etc/rc.conf ファイルを編集
システムの起動時にサーバデーモンが起動するように /etc/rc.conf ファイルを 編集します。NIS スレーブサーバには FreeBSD2.2.8-Release を使用しているので、 /etc/rc.conf を以下のように書き換えます。nisdomainname="test" nis_client_enable="YES" nis_client_flags="-S funalab,oak" nis_server_enable="YES" nis_server_flags=""編集後、再起動すれば設定は終了です。
- NISマップの同期
NIS マスターサーバ上の /var/yp で make を実行すれば、NIS スレーブサーバとの 間で NIS マップの同期が崩れることはありませんが、万が一、通信不能となって しまった場合には同期が取れなくなります。よって、cron を用いて定期的に /usr/libexec/ypxfr を実行することによって NIS マスターサーバと同期する ようにしておきます。
NISマスターサーバ上のNISマップを、NISスレーブサーバ上に転送するには、 NISスレーブサーバで、例えば、以下のようにして行います。# /usr/libexec/ypxfr -f group.byname ypxfr: Exiting: Map successfully transfered上記のコマンドを実行することにより、NISスレーブサーバの /var/yp/test(NISドメイン名) にNISマップが転送されています。 上記のコマンドを全ての NISマップに対して、同様に行います。
NISマップの転送が終了したら、ここでは、次回からは作業を簡単にするため、 /root/ypxfr.csh として、以下のような csh のスクリプトを準備しました。#!/bin/csh # NIS ypxfr from Master Server foreach NIS ( `ls /var/yp/test` ) /usr/libexec/ypxfr -f $NIS end上記の csh スクリプトを実行することにより、NISマスターサーバ上のNISマップを NISスレーブサーバ上に一度に転送することができます。
上記の csh スクリプトに実行権限を与えておきます。# chmod 755 /root/ypxfr.cshこの csh スクリプトを毎週日曜日の午前1:00に cron で実行するようにします。 cron で実行するようにするため、/etc/crontab ファイルを編集します。 ここで、/etc/crontab ファイルの書式は以下のようになります。minute hour mday month wday commandこれをもとに、NISスレーブサーバの /etc/crontab ファイルに 以下の記述を追加します。# # NIS ypxfr from Master server # 0 1 * * 7 root /root/ypxfr.csh
FreeBSD
- NISドメインの設定
NIS サーバと同じ NIS ドメイン名を指定します。# domainname test- /etc/hosts ファイルの編集
/etc/hosts ファイルに、NIS を利用する研究室内のマシンのホスト名とIPアドレス が記述されているか確認します。
- /etc/passwd , /etc/master.passwd ファイルの編集
root で vipw を実行し、/etc/passwd,/etc/master.passwd ファイルを編集 します。具体的には、NIS でパスワードを参照するユーザの行を削除します。 また、最後の行に+:::::0:0:::を加えます。
- /etc/group ファイルの編集
root で /etc/group ファイルを編集します。具体的には、/etc/group の NIS で 参照するグループを削除します。また、最後の行に+:::を加えます。
- /etc/host.conf ファイルの編集
ホスト情報を NIS サーバから引き出せるように、/etc/host.conf ファイルを 編集します。以下のように nis のコメントアウトを外します。# If you have YP/NIS configured, uncomment the next line nis- 動作確認
NIS クライアントのデーモンである /usr/sbin/ypbind を起動します。 /usr/sbin/ypwhich コマンドで NIS サーバの名前を確認します。# ypbind % ypwhich master or slave (NISマスターサーバまたはNISスレーブサーバのホスト名)また、NISマップの内容を表示させるには、/usr/sbin/ypcat コマンドを使用します。 例えば、以下のようになります。% ypcat passwd sakai:nPM7m.....:1001:20:Nobuyuki Sakai:/home/sakai:/usr/local/bin/tcsh ....- /etc/rc.conf ファイルを編集
システムの起動時にNISクライアントのデーモンが起動するように /etc/rc.conf ファイルを編集します。nisdomainname="test" nis_client_enable="YES" nis_client_flags=""編集後、再起動すれば設定は終了です。SunOS
- NISドメインの設定
NIS サーバと同じ NIS ドメイン名を指定します。# domainname testまた、/etc/defaultdomain に NIS ドメイン名を記述しておきます。
- /etc/hosts ファイルの編集
/etc/hosts ファイルに、NIS を利用する研究室内のマシンのホスト名とIPアドレス が記述されているか確認します。
- /etc/passwd ファイルの編集
root で vipw を実行し、/etc/passwd ファイルを編集 します。具体的には、NIS でパスワードを参照するユーザの行を削除します。 また、最後の行に+::0:0:::を加えます。(FreeBSD の場合と違うので注意)
- /etc/group ファイルの編集
root で /etc/group ファイルを編集します。具体的には、/etc/group の NIS で 参照するグループを削除します。また、最後の行に+:を加えます。(FreeBSD の場合と違うので注意)
- /var/yp/Makefile の編集
SunOS 4.x では DNS のリゾルバがインストールされていないため、ftp や telnet などで、DNS を引くことが出来ません。しかし、NIS を経由して、DNS にアクセス することは可能です。NIS サーバ上で /etc/resolv.conf を作成し、 /var/yp/Makefile の以下の行がコメントアウトされていないことを確認します。B=-bその後、以下のようにして NIS のホストマップを作成します。# cd /var/yp # make hosts.time- 動作確認
NIS クライアントのデーモンである /usr/etc/ypbind を起動します。 /usr/bin/ypwhich コマンドで NIS サーバの名前を確認します。# ypbind % ypwhich master or slave (NISマスターサーバまたはNISスレーブサーバのホスト名)- /etc/rc.local ファイルを編集
システムの起動時にNISクライアントのデーモンが起動するように /etc/rc.local ファイルを編集します。デフォルトの設定ファイルから ypbind を起動する部分のコメントアウトを外します。# # set NIS domainname if locally configured. # if [ -f /etc/defaultdomain ]; then domainname `cat /etc/defaultdomain` fi # # Run NIS only if we have a set domainname. # dname=`domainname` if [ "$dname" -a -d /var/yp ]; then echo "NIS domainname is $dname" echo -n "starting NIS services:" if [ -f /etc/security/passwd.adjunct ]; then ypbind -s; echo -n ' ypbind' else ypbind; echo -n ' ypbind' fi fi編集後、再起動すれば設定は終了です。Solaris
- NISドメインの設定
NIS サーバと同じ NIS ドメイン名を指定します。# domainname testまた、/etc/defaultdomain に NIS ドメイン名を記述しておきます。
- /etc/hosts ファイルの編集
/etc/hosts ファイルに、NIS を利用する研究室内のマシンのホスト名とIPアドレス が記述されているか確認します。
- ypinit -c を実行
ypinit -c を実行します。NIS サーバの場合は、ypinit -m を実行します。# ypinit -c In order for NIS to operate successfully, we have to construct a list of the NIS servers. Please continue to add the names for YP servers in order of preference, one per line. When you are done with the list, type aNIS マスターサーバと NIS スレーブサーバの名前を入力します。 入力を終えたら Ctrl-D を押します。or a return on a line by itself. next host to add: The current list of yp servers looks like this: YP_server_name In this correct? [y/n: y]で y を入力します。すると ypinit は /var/yp/binding 以下に NIS ドメイン名と 同じ名前のディレクトリを作り、NIS サーバの名前はその中の ypservers という ファイルに記憶されます。
- /etc/nsswitch.conf ファイルの編集
/etc/nsswitch.conf ファイルを編集し、情報検索の順序を指定します。 ここではデフォルトで用意されている /etc/nsswitch.nis ファイルを元にして 編集します。# cp /etc/nsswitch.nis /etc/nsswitch.conf編集結果を以下に示します。passwd: files nis group: files nis hosts: dns files nis networks: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files ethers: nis [NOTFOUND=return] files netmasks: nis [NOTFOUND=return] files bootparams: nis [NOTFOUND=return] files publickey: nis [NOTFOUND=return] files netgroup: nis automount: files nis aliases: files nis services: files nis sendmailvars: files- 動作確認
NIS クライアントのデーモンである /usr/lib/netsvc/yp/ypbind を起動します。 /usr/bin/ypwhich コマンドで NIS サーバの名前を確認します。# ypbind % ypwhich master or slave (NISマスターサーバまたはNISスレーブサーバのホスト名)正常に動作しているようなら、その後、再起動すれば、システム起動時に /etc/rc2.d/S71yp が実行され、ypbind が実行されます。Linux
Linux には多数のディストリビューションがあり、ディストリビューションごとに 設定方法は異なりますが、ここでは Vine Linux 1.1 に対して NIS クライアントの 設定を行う方法を説明します。
- NISドメインの設定
NIS サーバと同じ NIS ドメイン名を指定します。
/etc/sysconfig/network ファイルにNISDOMAIN=testを記述します。
- /etc/hosts ファイルの編集
/etc/hosts ファイルに、NIS を利用する研究室内のマシンのホスト名とIPアドレス が記述されているか確認します。
以下の処理は通常、必要ではありません。- /etc/passwd ファイルの編集
root で vipw を実行し、/etc/passwd ファイルを編集します。 具体的には、NIS でパスワードを参照するユーザの行を削除します。 また、最後の行に+::::::を加えます。
以下の処理は通常、必要ではありません。- /etc/group ファイルの編集
root で /etc/group ファイルを編集します。具体的には、/etc/group の NIS で 参照するグループを削除します。また、最後の行に+:::を加えます。
- /etc/host.conf ファイルの編集
ホスト情報を NIS サーバから引き出せるように、/etc/host.conf ファイルを 編集します。このファイルでは NIS マップからの情報の検索順番を指定します。 以下のように nis を書き加えます。order hosts,nis,bind ^^^/etc/nsswitch.conf ファイルの編集
Solaris の場合と同様に、/etc/nsswitch.conf ファイルを編集します。 このファイルでは、NIS マップからの情報検索の順序を指定します。 Solaris で設定した /etc/nsswitch.conf ファイルと同じような内容にします。 また、デフォルトの設定ファイルでは NIS+ を使用するようになっているので 通常の NIS を使うようにします。編集結果を以下に示します。passwd: files nis shadow: files nis group: files nis hosts: dns files nis networks: nis [NOTFOUND=return] files protocols: nis [NOTFOUND=return] files rpc: nis [NOTFOUND=return] files ethers: nis [NOTFOUND=return] files netmasks: nis [NOTFOUND=return] files bootparams: nis [NOTFOUND=return] files publickey: nis [NOTFOUND=return] files netgroup: nis automount: files nis aliases: files nis services: files nis/etc/yp.conf ファイルの編集 ypbind の設定ファイルである /etc/yp.conf ファイルを編集します。 デフォルトの設定ファイルより必要な箇所のコメントアウトを外し、編集するだけ です。ここでは、以下の部分を有効にしました。この設定では NISサーバを broadcast により探す設定です。domain test broadcast動作確認
NIS クライアントのデーモンである /sbin/ypbind を起動します。 /usr/bin/ypwhich コマンドで NIS サーバの名前を確認します。# ypbind % ypwhich master or slave (NISマスターサーバまたはNISスレーブサーバのホスト名)ypbind の設定
システムの起動時にNISクライアントのデーモン(ypbind)が起動するようにします。 Vine Linux 1.1 では便利なシステム管理ツールが用意されているので、それを使用 します。
具体的には root で setup コマンドを実行し、ntsysv を選択して、システム起動時 にどのサービスを起動するかを選択します。ここでは ypbind にチェックを 入れます。
その後、再起動すれば設定は終了です。