NIS マスターサーバの設定手順
- 参考Webページ:FreeBSD ハンドブック Chapter 18.高度ネットワーク: http://www.jp.freebsd.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/nis.html
- 参考Web ページ http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ipfw&dir=jpman-5.2.0%2Fman§=0
- 参考Web ページ https://www.kkaneko.jp/tools/freebsd/ipfw.html
新 NIS サーバのセットアップ
NIS サーバ設定
NIS のデータベースとして、master.passwd, hosts, group の3つのファイル を作る. その後、/etc/host, /etc/rc.conf, /etc/master.passwd, /etc/group, /var/yp/securenets, /var/yp/nis.inputs/ypservers, /var/yp/Makefile を 設定します. 再度に ypinit -m で NIS サーバとしての設定を行う.
- 事前の確認
- NIS サーバ上の /etc/resolv.conf が正しく設定されていること(必須)
- DNS サーバに、NIS サーバマシンが登録されていることが望ましい
- NIS サーバ上の /etc/hosts の中身に間違いがないこと(必須)
- NIS ファイル用のディレクトリ作成
# mkdir /var/yp/nis.inputs
- NIS 用 master.passwd 作成
# vi /var/yp/nis.inputs/master.passwd ----- <ユーザ名>:*:20001:800::0:0:<ユーザの説明>:/home/<ユーザ名>:/bin/tcsh -----
- NIS 用 hosts 作成
# vi /var/yp/nis.inputs/hosts ----- 127.0.0.1 localhost.local.www.kkaneko.jp localhost 192.168.33.XXX YYY.local.www.kkaneko.jp YYY -----
XXX は ifconfig で調べる。YYY は hostname で調べる。
# ifconfig # hostname
- NIS 用 group 作成
# vi /var/yp/nis.inputs/group ----- 8th:*:800: -----
- /etc/host の編集
# vi /etc/hosts ----- 127.0.0.1 localhost.local.www.kkaneko.jp localhost 192.168.33.XXX YYY.local.www.kkaneko.jp YYY -----
XXX は ifconfig で調べる。YYY は hostname で調べる。
# ifconfig # hostname
- /etc/rc.conf の書き換え
設定では、NIS クライアントにする, NFS クライアントにしないように設定し ます.
NIS ドメイン名は事前に決めておく。適当でよい
# vi /etc/rc.conf ----- # NIS client portmap_enable="YES" nisdomainname="<NISドメイン名>" nis_client_enable="YES" nis_client_flags="-m -S <NISドメイン名>,localhost" # NIS server nis_yppasswdd_enable="YES" nis_yppasswdd_flags="-u -t /var/yp/nis.inputs/master.passwd" nis_server_enable="YES" nis_ypxfrd_enable="YES" nis_ypset_enable="NO" nis_ypset_flags="" -----
- /etc/master.passwd の変更
/etc/master.passwd の変更では、必ず vipw を用いること ("vi /etc/master.passwd" でなく "vipw").
NIS クライアントとして機能させるために、次のように変更する.
# vipw 最終行に追加 ----- +::::::::: -----
- /etc/group の変更
NIS クライアントとして機能させる
# vi /etc/group 最終行に追加 ----- +::: -----
- NIS 用 securenets の作成
XXX,YYY,ZZZ の部分は LAN のネットワークアドレス
# vi /var/yp/securenets ----- 127.0.0.1 255.255.255.255 XXX.YYY.ZZZ.0 255.255.255.0 -----
- # vi /var/yp/nis.inputs/ypservers
----- localhost localhost -----
- /var/yp/Makefile を編集
# cp /var/yp/Makefile.dist /var/yp/Makefile # chmod 644 /var/yp/Makefile # vi /var/yp/Makefile (1)TARGETS を変更 TARGETS= servers hosts networks protocols rpc services shells group ↓ TARGETS= servers hosts group (2)YPSRCDIR システムを変更 YPSRCDIR= /etc ↓ YPSRCDIR= /var/yp/nis.inputs (3)PASSWD, MASTER, YPSERVERS で $(YPDIR) を $(YPSRCDIR) に変更
- domainname の設定
NIS ドメイン名は /etc/rc.conf に書いたものとする
# domainname <NISドメイン名>
- ypinit の実行
# cd /var/yp # ypinit -m n ctrl+D y
- make の実行
# cd /var/yp # make
- 再起動
# sync # sync # sync # sync # sync # reboot
- NIS サーバ上で ypwhich を行う
# ypwhich
(ここで localhost か localhost.<ドメイン名> とでるはず)
- ypcat passwd, ypcat group, ypcat hosts, ypcat ypservers で動作確認
- cap_mkdb /etc/login.conf の実行について
NIS サーバマシン上で yppasswd を実行した時に、パスワード形式が、 DES または MD5 の望む方で登録されるように設定します.
DES の場合: /etc/login.conf で次のように設定した後に、cap_mkdb /etc/login.conf します.
:passwd_format=des:\
MD5 の場合:/etc/login.conf で次のように設定した後に、cap_mkdb /etc/login.conf します.
:passwd_format=md5:\
今のパスワードが、DES なのか MD5 なのかは、master.passwd 等のパスワー ドに $1$ が付いているかで判別します.MD5 なら付いている.
設定上の注意
yppasswd でのパスワード変更がうまくできない場合には、
- /etc/login.conf の設定ミス
- /etc/hosts の設定ミス
- ypinit -m; make を実行し忘れている
- NIS 用 hosts ファイルに NIS サーバマシンを登録し忘れている
を確認してみて下さい。
次のファイルは、最終行に空行が入っているとエラーになるので、確認してく ださい。
- /var/yp/nis.inputs/master.passwd
- /var/yp/nis.inputs/hosts
- /var/yp/nis.inputs/group
- /var/yp/securenets
- /var/yp/nis.inputs/ypservers
ipfw 設定
ipfw でフィルタリング の Web ページを見て、 設定を行う.
NIS サーバの移行
旧NIS サーバと、新NIS サーバを入れ替える。作業では、 旧NIS サーバ, 新 NIS サーバのマシン名, IP アドレスに同じにする。 また、NIS ドメインネームは変更しない。
NIS 設定ファイルの移行
- 新 NIS サーバ に root でログイン
# cd /var/yp # rm -r *
- 旧 NIS サーバ に root でログイン
# cd /var # tar -cvf /usr/var_yp.backup20041017.tar ./yp
- 新 NIS サーバで:
# sftp <旧NISサーバ> > cd /usr > lcd /var > get var_yp.backup20041017.tar > exit # cd /var # tar -xvf var_yp.backup20041017.tar ./yp/nis_inputs ./yp/Makefile # vi /var/yp/securenets
新 NIS サーバで、/etc/rc.conf, /etc/master.passwd, /etc/group の確認
/etc/rc.conf について。
- hostname, ipconfig のエントリを、旧 NIS サーバのものと同じに書き換える。
- nisdomainname が正しい NIS ドメインネームになっていることを確認。
- /etc/master.passwd, /etc/group に、「+」の行があることを、もう1度確認
新 NIS サーバで、NIS ドメイン名、ホスト名の変更
# domainname <ドメイン名> # hostname <変更するホスト名>
新 NIS サーバの立ち上げ
新 NIS サーバマシンで ypinit -m を実行し、NIS サーバを立ち上げます.
# ypinit -m はじめの質問は n 次の質問は ctrl + d 次の質問は y # cd /var/yp # make 再起動 # sync # reboot
旧 NIS サーバ の停止と、NIS スレーブサーバマシンの設定
- 旧 NIS マスターサーバマシンの運転停止
- NIS スレーブマシン において 「ypinit -s <新 NIS サーバマシン名>」を実行
- NIS スレーブマシンの ypbind 再起動
動作確認
NISのファイルが見れるかなどの確認
# ypwhich # ypcat passwd