NIS設定


NIS」のインストール、設定を行います。

この「NIS」サーバを構築することによって、他のマシンとユーザ情報が共有することが出来ます。
このことから、ユーザの管理がとても簡単に行えます。

もし、今回構築するようなクラスタ環境でユーザ情報が共有出来ていないと、管理サーバに登録されているユーザIDと計算ノードに登録されているユーザIDがバラバラでどのユーザがどのIDで計算を実行しているのかなどが、ごっちゃになってしまい混乱しやすいです。

(1)管理サーバに「NIS」サーバをインストールする。
[root@kanri ~]# yum -y install ypserv

(2)「NIS」ドメイン指定を行う。
[root@kanri ~]# ypdomainname kanri.local

(3)管理サーバの「/etc/sysconfig/network」に「NIS」ドメインを追加する。
[root@kanri ~]# vi /etc/sysconfig/network
#----以下を追加----
NISDOMAIN=kanri.local

(4)管理サーバの「/var/yp/Makefile」を編集する。
[root@kanri ~]# vi /var/yp/Makefile
# MERGE_PASSWD=true|false
MERGE_PASSWD=true
↓ # 変更
MERGE_PASSWD=false

# MERGE_GROUP=true|false
#MERGE_GROUP=true
↓ # 変更 
MERGE_GROUP=false

all: passwd group hosts rpc services netid protocols mail
↓ # 変更
all: passwd shadow group hosts rpc services netid protocols mai

(5)管理サーバに「/var/yp/securenets」を作成する。
[root@kanri ~]# vi /var/yp/securenets
host    127.0.0.1
255.255.255.0   192.168.0.0

(6)管理サーバの「ypserv」と「yppasswdd」を起動する。
[root@kanri ~]# /etc/rc.d/init.d/ypserv start
 YP サーバーサービスを起動中:                               [  OK  ]
[root@kanri ~]# /etc/rc.d/init.d/yppasswdd start
YP パスワードサービスを起動中:                            [  OK  ]
[root@kanri ~]# chkconfig ypserv on
[root@kanri ~]# chkconfig yppasswdd on


(7)「NIS」データベースを作成する。
[root@kanri ~]# /usr/lib/yp/ypinit -m


At this point, we have to construct a list of the hosts which will run NIS
servers.  localhost.localdomain is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a .
        next host to add:  localhost.localdomain
        next host to add: ← # Control+Dを押す。
The current list of NIS servers looks like this:

localhost.localdomain

Is this correct?  [y/n: y]  y ← # yを入力しEnter
We need a few minutes to build the databases...
Building /var/yp/kanri.local/ypservers...
Running /var/yp/Makefile...
gmake[1]: ディレクトリ `/var/yp/kanri.local' に入ります
Updating passwd.byname...
Updating passwd.byuid...
Updating shadow.byname...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...
Updating netid.byname...
Updating protocols.bynumber...
Updating protocols.byname...
Updating mail.aliases...
gmake[1]: ディレクトリ `/var/yp/kanri.local' から出ます

localhost.localdomain has been set up as a NIS master server.

Now you can run ypinit -s localhost.localdomain on all slave server.

(8)次に計算ノード側の設定を行う。計算ノードの「/etc/sysconfig/network」にNISDOMAINを追加する。
[root@node1 ~]# vi /etc/sysconfig/network
# ----最終行に追加----
NISDOMAIN=kanri.local

(9)計算ノードの「/etc/sysconfig/authconfig」の設定を行う。
[root@node1 ~]# vi /etc/sysconfig/authconfig
USENIS=no
↓ # 変更
USENIS=yes

(10)計算ノードの「/etc/yp.conf」に以下を追加する。
[root@node1 ~]# vi /etc/yp.conf
#----最終行に追加----
domain kanri.local server kanri.local

(11)計算ノードの「/etc/nsswitch.conf」を変更する。
[root@node1 ~]# vi /etc/nsswitch.conf
passwd: files
shadow: files
group: files
↓ # 変更
passwd: files nis
shadow: files nis
group: files nis

hosts: files dns
↓ # 変更
hosts: files dns nis

(12)計算ノードの「ypbind」を起動する。
[root@node1 ~]# /etc/rc.d/init.d/ypbind start
NIS ドメイン名 kanri.localを設定中:                        [  OK  ]
NIS ドメインにバインド中:                                  [  OK  ]
NIS ドメインサーバーを検索中
[root@node1 ~]# chkconfig ypbind on

(13)無事に「NIS」の設定が行えたか確認する。
ここでは、テスト用ユーザーとして「mpi」を作成する。
[root@kanri ~]# useradd mpi
[root@kanri ~]# passwd mpi
[root@kanri ~]# cd /var/yp
[root@kanri yp]# make
gmake[1]: ディレクトリ `/var/yp/kanri.local' に入ります
Updating passwd.byname...
Updating passwd.byuid...
Updating shadow.byname...
Updating group.byname...
Updating group.bygid...
Updating netid.byname...
gmake[1]: ディレクトリ `/var/yp/kanri.local' から出ます

(14)計算ノード側で「mpi」ユーザーにスイッチしてみる。
[root@node1 ~]# su - mpi
[mpi@node1 ~]$

無事に「mpi」ユーザーにスイッチできれば問題ないので設定は完了です。

参考文献
1.  http://www.server-world.info/query?os=CentOS_5&p=nis&f=1

Comments are closed.