NIS
Network Information Service (NIS) は Sun によって開発されたユーザー情報をサーバーと共有するためのプロトコルです。サーバーソフトウェアは ypserv パッケージに入っており、クライアントソフトウェアは yp-tools パッケージに入っています。クライアントデーモンのマルチスレッド版である ypbind-mt を使うこともできます。
NIS サーバー
パッケージのインストール
ypbind-mt, ypserv, yp-tools パッケージをインストールしてください:
# pacman -S ypbind-mt yp-tools ypserv
設定
/etc/hosts
サーバーの (127.0.0.1 ではない) 外部 IP アドレスを hosts ファイルに追加してください。ファイルのコメントアウトされていない最初の行になるようにします。以下のように localhost の行よりも上に追加します:
# # /etc/hosts: static lookup table for host names # #<ip-address> <hostname.domain.org> <hostname> #::1 localhost.localdomain localhost 192.168.1.10 nis_server.domain.com nis_server 127.0.0.1 localhost.localdomain localhost nis_server # End of file
これは ypinit が /etc/hosts
の最初の行を ypservers のリストに追加するためです (これがバグか仕様かはハッキリしません)。
/etc/nisdomainname
ドメイン名を /etc/nisdomainname
に追加:
# NISDOMAINNAME="nis-domain-name"
/etc/ypserv.conf
以下の形式で nis クライアントのルールを /etc/ypserv.conf
に追加:
# ip-address-of-client : nis-domain-name : rule : security
例:
# 192.168. : home-domain : * : port
詳しくは man ypserv.conf
を参照。
/var/yp/Makefile
/var/yp/Makefile
の "all" ルールに NIS を用いて共有するファイルを追加または削除します。
デフォルト:
# all: passwd group hosts rpc services netid protocols netgrp \ # shadow # publickey networks ethers bootparams printcap mail \ # # amd.home auto.master auto.home auto.local passwd.adjunct \ # # timezone locale netmasks
その後 NIS データベースを作成してください:
# cd /var/yp # make
もしくは自動的に作成させることもできます:
# /usr/lib/yp/ypinit -m
この場合、手動で /var/yp/ypservers
に行を追加する必要はありません。
/var/yp/securenets
/var/yp/securenets
にアクセスを制限するルールを追加:
# 255.255.0.0 192.168.0.0 # Gives access to anyone in 192.168.0.0/16
誰にでも権限を与えてしまうので、この行はコメントアウトするようにしましょう。
# 0.0.0.0 0.0.0.0
/var/yp/ypservers
サーバーを /var/yp/ypservers
に追加:
# your.nis.server
NIS デーモンの起動
rpcbind を起動させてない場合、起動させる:
# systemctl start rpcbind
ypbind を起動:
# systemctl start ypbind
ypserv を起動:
# systemctl start ypserv
ブート時にデーモンをロードさせたい場合は systemctl start
の代わりに systemctl enable
を使って下さい。
NIS クライアント
パッケージのインストール
まず必要なツールをインストールしてください。NIS を使うために必要な設定ファイルやツールが含まれています。
# pacman -S yp-tools ypbind-mt
設定
ドメイン名の設定
# ypdomainname EXAMPLE.COM
/etc/yp.conf
ファイルを編集して ypserver または nis サーバーを追加します。
ypserver nis_server
/etc/hosts
NIS サーバーを /etc/hosts
に追加すると良いでしょう。
192.168.1.10 nis_server.domain.com nis_server
NIS デーモンの起動
rpcbind と ypbind デーモンを起動します。
# systemctl start rpcbind # systemctl start ypbind
ブート時にデーモンをロードさせたい場合は systemctl start
の代わりに systemctl enable
を使って下さい。
テスト
ここまでのセットアップをテストするために、yptest コマンドを実行します:
# yptest
正しく動作しているようでしたら、NIS ユーザーデータベースの中身を見て下さい (/etc/passwd
と同じフォーマットで出力されます)。
/etc/nsswitch.conf
NIS を実際に使ってログインするには /etc/nsswitch.conf
を編集する必要があります。passwd, group, shadow の行を以下のように修正してください:
passwd: files nis group: files nis shadow: files nis
そして必ず再起動します:
# systemctl restart ypbind
NIS クライアントの設定に関する詳細は section 7 of The Linux NIS HOWTO を見て下さい。
参照
- The Linux NIS HOWTO,very helpful and generally applicable to Arch Linux.
- YoLinux NIS tutorial
- Quick HOWTO, Configuring NIS