最初の NIS マップは、次のコマンドを実行して生成します。
% /usr/lib/yp/ypinit -m |
これは NIS マスターサーバをはじめて設定したときに行います。 これに関する詳細は Section 9 を見てください。 サーバに新しいマップを追加したり、古いマップを削除したりしたい場合は、 /var/yp/Makefile を編集して all: ルールを変更します。 マップを生成するルールの名前をここに追加・削除します。
マップを削除する場合は、対応する実際のファイルも削除しなければなりません。
この変更を行ったら、
% make -C /var/yp |
を実行すればマップが生成されるはずです。
NIS マップのソースを変更したら (例えば新しいユーザのアカウントを passwd ファイルに追加した場合など)、 NIS マップを再生成する必要があります。 単に次のコマンドを実行するだけです。
% make -C /var/yp |
このコマンドはどのソースが変更されたかを調べ、 新しいマップを生成し、ypserv にマップが変更されたことを伝えます。
長いエントリの NIS マップを生成するには、 /var/yp/Makefile が makedbm を呼ぶ際に、 --no-limit-check オプションを追加するようにします。
DBLOAD = $(YPBINDIR)/makedbm -c -m `$(YPBINDIR)/yphelper --hostname` --no-limit-check |
警告: この変更は NIS プロトコルに反しています。 Linux 自身はサポートしているとはいえ、 Linux 上で動作するアプリケーションが、 この変更後に動作するかどうかはわかりません!
/etc/group エントリの場合には、 この問題を回避するための別法があります。 このアイディアは Ken Cameron から寄せられました。
1. エントリを複数の行に分け、各グループの名前をちょっとずつ 変えます。 2. この各グループの GID は全部同じにします。 3. 最初のエントリには、正しいグループ名と GID を与えます。 私はここにはユーザ名は置かないようにしています。 この結果、プログラムがこのマップを読むと、指定したユーザ名に対して GID が帰ります。次に GID にマッチする最初のエントリを見つけると、 その名前を返して停止します。美しくはありませんが、動作します! |