超久しぶりのブログですが、UbuntuでNISの設定をしたので、忘れないようにメモ。
ここ
http://www.tyzoh.jp/community/kkato/2009/03/31_140828.htmlにも書いたのですが、情報不足だったと思うので、加筆してまとめ。
それにしてもNISの情報って少なくて苦労した。
●NIS(Network Information Service)とは何か
ログイン名とパスワードを複数のサーバ(ドメイン内)で使うための仕組み。主にLinuxなどのUNIX系OSで用いられている。
つまり同じログイン名とパスワードで複数のマシンにログインできるようになる。クラスタなんかを組むときは楽。
●簡単な仕組み
ログイン名・パスワードなどの情報を提供するのが「サーバ」で、それを利用するのが「クライアント」。サーバには2種類あって、すべての情報のもとになるのが「マスターサーバ」、マスターサーバの内容をバックアップしておくのが「スレーブサーバ」。スレーブサーバのおかげで、マスターサーバが死んでてもログインできる。
クライアントは必要に応じてサーバ(マスターまたはスレーブ)に問い合わせる。マスターは情報に変更があるとスレーブに通知する。
●Ubuntuでの設定の仕方
以下、3つのサーバで設定するものとし、サーバ名をubuntu1, ubuntu2, ubuntu3とする。
ubuntu1をマスターサーバとし、ubuntu2とubuntu3をスレーブサーバとする。
(実際にマシンの台数が少ないときは、マスター以外をすべてスレーブとしていいんじゃないかと思う。その方が頑健。)
1) まずは/etc/hostsをいじって、ubuntu1, ubuntu2, ubuntu3のアドレスを登録
2) nisをインストール
sudo aptitude install nis
3) クライアントの設定
yp.confに
ypserver ubuntu1
ypserver ubuntu2
ypserver ubuntu3
を加える。(これがクライアントが参照するサーバ)
/etc/nsswitchを編集して
passwd: compat nis
group: compat nis
shadow: compat nis
とする。(こうしないと、ログイン時にnisの情報を見にいかない)
4) サーバの設定
マスターにするサーバ(ubuntu1)で
/usr/lib/yp/ypinit -m
スレーブにするサーバ(ubuntu2, ubuntu3)で、
/usr/lib/yp/ypinit -s ubuntu1
セキュリティが気になるんならypserv.securenetsを編集してアクセス元を制限できる。そのまま放っておいても動く。
5) 自動起動の設定
/etc/default/nisを開いて編集。
マスターでは
NISSERVER=master
スレーブでは
NISSERVER=slave
として、あと
NISMASTER=ubuntu1
と設定
6) cronの設定
/etc/cron.hourlyになにか書くといいらしい(よくわかってない
●ユーザを追加するとき
adduserをして
cd /var/yp
sudo make
●追記
2010/8/2
yp.confの設定が間違っていたので訂正しました。
タグ:NIS
<< CUDA3.0リリース | Main | 博士号を取るとはどういうことか >>