NIS
UNIX 演習でつまずいていたところをメモ.
ログインできなくなった
/etc/nsswitch.conf で
passwd: files nisplus nis
shadow: files nisplus nis
group: files nisplus nis
のように最初にローカルのファイルを読みに行くように設定すべきところを,
だけにしていたので,ローカルの /etc/passwd などを読まなくなって root でさえログインできなくなっていた.そのため,シングルユーザモードで起動して設定を修正.
ypserv が起動しない
/etc/sysconfig/network で環境変数 NISDOMAIN が定義されていなければ
# /etc/init.d/ypserv start
とやっても ypserv が起動せず,その際,エラーメッセージも表示されない.(というより,正常に起動したときは "Starting YP server services:" と表示される.)
/etc/init.d/ypserv の中身を読めば分かる.
ypcat passwd しても何も表示されない
NIS で passwd, shadow を共有するとき,UID がある閾値未満であるユーザのレコードは共有されない.同様に group を共有するとき,GID がある閾値未満であるグループのレコードは共有されない.これはセキュリティの都合上,root や system 系のユーザやグループの情報を公開しないためである.これらの情報は /var/yp/Makefile に記述されている.
MINUID=500 MINGID=500
ちなみに,ypcat passwd を試した時点では root 以外のユーザを作成していなかった.なお,試しに adduser でユーザを追加したとき,勝手に 500 以上の UID が割り振られた.
ファイルを更新したはずなのに ypcat したとき更新が反映されていない
NIS で共有するデータを更新するたびに /var/yp で make する必要がある.