NISサーバからユーザ情報を参照し、各サーバ(アプリケーションサーバ、ファイルサーバ・・・)のアカウントを管理します。さらに、統合認証システムを構築する際にはファイルサーバ上でNFSサービスを提供することが期待されますが、ここでは割愛します。
NISスレーブサーバ構築
NISスレーブサーバはNISマスターサーバが何らかの原因で機能停止になった場合に認証サービスをマスターサーバの代わりに提供するサービスです。NISマスターサーバが停止する原因として、
- ネットワーク障害
- ハードウェア障害
- 攻撃による停止
- 人為的操作ミス
などが考えられますが、いずれにせよシステム規模が大きくなるに従って負荷分散などの効果もありますのでNISサーバ構築をお勧めします。
NISサービスプログラムのインストール
up2dateコマンド、yumコマンドなどを利用してNISサービスをインストールします。
# up2date install ypserv
# up2date install yp-tools
# up2date install ypbind
つぎに、NISサービス提供用の設定ファイル編集並びに設定を行います。
NISドメインの設定
NISサービスは認証単位をドメインで管理します。したがいまして同一NISドメインに所属するコンピュータのみがNIS認証を利用できます。NISドメインの設定はypdomainnameコマンドで行います。
# ypdomainname NISDOMAIN
NISDOMAINの箇所は適宜決定してください。設定されたNISドメイン名はypdomainnameコマンドで確認できます。
# ypdomainname
NISDOMAIN
これだけの設定であればOS再起動時にNISドメインが設定されませんので、システム起動時にNISドメイン設定が行われるように以下の設定ファイルを修正します。
/etc/sysconfig/networkに下記一行を追記します。
NISDOMAIN=NISDOMAIN
NIS利用範囲(ネットワーク)の設定
NISを利用する範囲を限定することで、不要なNISサーバへのアクセスを防ぐことができます。この設定は、設定ファイル
/var/yp/securenetsに下記一行を追加することで実現します。
255.255.255.0 192.168.0.0
ネットワーク範囲は適切に設定してください。
NISサーバ設定ファイルの変更
小規模ネットワークでNISサーバを構築する場合、その高速性に比べてその利便性を向上するため、キャッシュ設定を停止することをお勧めします。これにより、ユーザアカウントの追加・削除時の動作不具合、パスワード変更反映の即時実行が期待されます。
設定は、/etc/ypserv.confの下記行を変更します。
files: 0
#files: 30
また、同ファイルに対してNISマスターサーバのIPアドレスを以下のように追記します。
trusted_master: 192.168.0.1
これにより、NISサーバからのデータベースアップデートを受け付けることができます。
NISサービスの起動
NISサーバ機能を提供するために、rpcgssd、rpcidmapd、ypservサービスを起動します。また、自身がNIS情報を参照できるようにypbindサービスを起動します。
# /sbin/chkconfig rpcgssd on
# /sbin/chkconfig rpcidmapd on
# /sbin/chkconfig ypserv on
# /sbin/chkconfig ypbind on
# /sbin/service rpcgssd start
# /sbin/service prcidmapd start
# /sbin/service ypserv start
# /sbin/service ypbind start
NISデータベースの初期化
ypinitコマンドを利用し、初期NISデータベースを構築します。
/usr/lib/yp/ypinit -s hpcgwi
We will need a few minutes to copy the data from nismaster.
Transferring services.byservicename...
Trying ypxfrd ... success
Transferring hosts.byname...
Trying ypxfrd ... success
Transferring group.byname...
Trying ypxfrd ... success
Transferring passwd.byname...
Trying ypxfrd ... success
Transferring passwd.byuid...
Trying ypxfrd ... success
Transferring mail.aliases...
Trying ypxfrd ... success
Transferring services.byname...
Trying ypxfrd ... success
Transferring hosts.byaddr...
Trying ypxfrd ... success
Transferring netid.byname...
Trying ypxfrd ... success
Transferring group.bygid...
Trying ypxfrd ... success
nisslave's NIS data base has been set up.
If there were warnings, please figure out what went wrong, and fix it.
At this point, make sure that /etc/passwd and /etc/group have
been edited so that when the NIS is activated, the data bases you
have just created will be used, instead of the /etc ASCII files.
以上でNISスレーブサーバの設定は完了です。ここで、NISマスターサーバ、NISスレーブサーバのホスト名はそれぞれnismaster、nisslaveとしました。
NISマスターサーバ設定変更
NISスレーブサーバを構築した場合、NISマスターサーバ上でNISユーザが追加・削除されたことをNISスレーブサーバに通知する必要があります。この動作を設定するため、NISマスターサーバの設定を一部変更します。
設定変更は、NISマスターサーバの/var/yp/Makefile中の下記一行を修正するのみです。
NOPUSH=false
#NOPUSH=true