Print | Rate this content

RedHat Linux 7.1 での NIS 構築手順

PROBLEM

RedHat Linux 7.1 での NIS 構築手順

CONFIGURATION

RedHat Linux 7.1 Kernel 2.4.2-2

RESOLUTION

[概要]
RedHat Linux 7.1 での NIS 構築手順についてご紹介します。
NIS とは Sun Microsystems 社の UNIX で最初に実装された、分散型のデータ管理
システムのことをいい、ユーザー名やホスト名、ネットワーク名などの情報を共有
して管理するシステムです。

[対象 NOS]
RedHat Linux 7.1 Kernel 2.4.2-2

[検証環境]
■NIS マスターサーバ/NIS クライアント
OS:RedHat Linux 7.1 Kernel 2.4.2-2

■NIS 構成
NIS マスターサーバー 1台 と NIS クライアント 1台構成
※ スレーブサーバー構成に関しては本手順ではご紹介しておりません


[前提条件]
今回 インストールする NIS パッケージは RedHat から提供されている rpm
パッケージになります。
また、NIS のプロダクトはすべて RedHat 7.1 インストール CD-ROM の 1 枚目
に入っているパッケージを使用しています。

[構築手順]
■マスターサーバーの構築手順

以下の設定は NIS マスターサーバ上で行います。

1. rpm パッケージの確認

NIS の rpm パッケージがすでにインストールされているかを確認します。

# rpm -qa | grep yp
yp-tools-2.4-7
ypbind-1.7-6
ypserv-1.3.11-13

ここで ypserv と yp-tools が表示された場合はすでにインストールされて
いますので、インストールする必要はありません。

---> ypbind-1.7-6 と yp-tools-2.4-7 に関してはデフォルトでインストール
されています。
(インストールタイプをワークステーションで指定した場合のみ)


2. rpm パッケージの検索と必要なパッケージのインストール

RedHat 7.1 の CD ROM 1 枚目 [/mnt/cdrom/RedHat/RPMS] に移動し、ls
コマンドで NIS の rpm パッケージを検索します。
検索後 NIS マスターサーバ に必要なパッケージをインストールします。

#mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/RedHat/RPMS
# ls | grep yp
yp-tools-2.4-7.i386.rpm
ypbind-1.7-6.i386.rpm
ypserv-1.3.11-13.i386.rpm

# rpm -ivh ypserv-1.3.11-13.i386.rpm
Preparing... ########################################### [100%]
  1:ypserv ########################################### [100%]

#rpm -ivh yp-tools-2.4.7.i386.rpm
Preparing... ########################################### [100%]
 1:yp-tools ########################################### [100%]

#rpm -ivh ypbind-1.7-6.i386.rpm
Preparing... ########################################### [100%]
1:ypbind ########################################### [100%]


3. portmap の起動

portmap とは RPC プログラム番号を TCP/IP の Port 番号に変換するサーバー
プログラムになります。NIS 利用時は必ず portmap が動作していなければいけ
ません。

# /etc/init.d/portmap start
Starting portmapper: [ OK ]

potmap の起動確認は以下のコマンドを使います。

# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper <<<
100000 2 udp 111 portmapper <<<
100024 1 udp 1024 status
100024 1 tcp 1024 status

portmapper と表示されていれば正しく起動されています。
後述で起動させる ypserv yppasswdd の起動確認を行うこともできます。


4. ipchains の停止

Red Hat Linux 7.1 のインストールを行った時にファイアウォール設定を
「高」または「中」に設定していた場合、RPC 通信が拒否されてしまい、マスタ
サーバに接続できなくなってしまいます。つまり、NIS の機能を使うことができ
ません。以下のコマンドを実行することによって ipchains を停止し、RPC 通信
を行えるようにします。

# /etc/rc.d/init.d/ipchains stop
Flushing all chains: [ OK ]
Removing user defined chains: [ OK ]
Resetting built-in chains to the default ACCEPT policy:[ OK ]

また、システム起動時に ipchains デーモンを起動しないようにするには以下の
コマンドを実行します。

# chkconfig ipchains off

起動時のオプション確認

# chkconfig --list | grep ip
ipchains 0:off 1:off 2:on 3:off 4:off 5:off 6:off


5. NIS ドメインの設定

/etc/sysconfig/network ファイルに NIS ドメイン名を設定します。
例) NIS ドメインを `nis.test.domain` とする場合には以下の様に設定します。

# domainname nis.test.domain

を実行します。

現在の NIS ドメイン名の確認方法は nisdomainname コマンド を実行します。

# nisdomainname
nis.test.domain

Linux システムを起動した時に自動的に NIS ドメイン名が有効になるように
するには、/etc/sysconfig/network ファイルの最後の行に下記の行を追加
します。

NISDOMAIN=nis.test.domain


6. NIS マスターサーバへのアクセス制御の設定

NIS マスターサーバへの NIS アクセスを許可するホストを /etc/hosts.allow
ファイルに設定する必要があります。
また、アクセスを拒否するホストを /etc/hosts.deny ファイルに設定します。
下記の例は、サブネット [10.1.1.0/255.255.255.0] の NIS クライアントから
アクセスを許可し、その他のサブネットからはアクセスを拒否するように設定
しました。またNISマスターサーバへのアクセス制御を行わない場合は、設定
する必要はありません。

【/etc/hosts.allow ファイルの例】

portmap:10.1.1.0/255.255.255.0
ypserv:127.0.0.1 10.1.1.0/255.255.255.0
 
【/etc/hosts.deny ファイルの例】

portmap:ALL
ypserv:ALL


7. /var/yp/securenets ファイルの編集

このファイルは リモートユーザーからの 不正な処理を防ぐ為の NIS の
セキュリティファイルです。
設定方法はネットワークとネットマスクを、スペースで区切ります。
また、セキュリティをかけない場合には、設定する必要はありません。

【/var/yp/securenets ファイルの例】

255.255.255.0 10.1.1.0

/var/yp/securenets ファイルのデフォルト設定内容は以下になります。

#
# securenets This file defines the access rights to your NIS server
# for NIS clients. This file contains netmask/network
# pairs. A clients IP address needs to match with at least
# one of those.
#
# One can use the word `host` instead of a netmask of
# 255.255.255.255. Only IP addresses are allowed in this
# file, not hostnames.
#
# Always allow access for localhost
255.0.0.0 127.0.0.0

# This line gives access to everybody. PLEASE ADJUST!
0.0.0.0 0.0.0.0

8. ypserv の起動

NIS サーバを起動します。

# /etc/rc.d/init.d/ypserv start
Starting YP server service: [ OK ]

起動時に Fail した場合は、/var/log/messages を確認してください。また
デバッグモードでの起動方法は # /etc/rc.d/init.d/ypserv ファイル内を下記
の様に変更後、デーモンを起動して下さい。

daemon ypserv ---> daemon ypserv -d

デバッグモードの場合は、daemon がバックグラウンドでは走らないので、その
まま再起動した場合、システム起動中に止まってしまいます。
そのため、変更はシステム起動後に幾つかのターミナルを開いて、そのうちの
1つで行う事をお勧めします。


9. NIS データベースの作成

現在設定してある NIS ドメインの NIS データベース(マップファイル)作成を
行うには /usr/lib/yp/ypinit コマンドを実行します。

# /usr/lib/yp/ypinit -m

At this point, we have to construct a list of the hosts which will
run NIS servers. hp0001 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 <control D>.
 next host to add: hp0001 ---> NIS サーバのホスト名を入力します。
next host to add:
The current list of NIS servers looks like this:

ホスト名の入力が終了したら Ctrl + D を押下します。

hp0001

Is this correct? [y/n: y] y ---> OK ならば [y] を入力し、[Enter]
キーを押下します。
We need some minutes to build the databases...
Building /var/yp/nsrc-domain.nis/ypservers...
Running /var/yp/Makefile...
gmake[1]: Entering directory `/var/yp/nsrc-domain.nis'
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...

エラーメッセージが出力された場合は /var/log/messages を参照してください。
正常に終了した場合は、/vay/yp の下に NIS ドメイン名のディレクトリが作成
されさらにその下に NIS データが作成されます。


10. NIS ユーザの登録

NIS ユーザの登録手順として サーバ側で useradd コマンドより一般ユーザを
作成し、その後 NIS ユーザに登録します。

新規ユーザ [user01] を一般ユーザとして登録します。

# useradd user01

作成したユーザを NIS ユーザとして登録します。

# cd /var/yp
# make (または # make all)
Updating passwd.byname...
Updating passwd.byuid...
Updating group.byname...
Updating group.bygid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating rpc.byname...
Updating rpc.bynumber...
Updating services.byname...
Updating services.byservicename...


11. yppasswdd の起動

NIS 環境下でユーザーによるパスワード変更を可能にします。必ず NIS
ドメインの NIS マスターサーバ上で起動する。

#/etc/rc.d/init.d/yppasswdd strat
Starting YP passwd service: [OK]


12. システム再起動時の自動実行

システムを再起動した際に各デーモンを自動実行されるには以下のコマンドを
実行します。

# chkconfig portmap on
# chkconfig ypserv on
# chkconfig yppasswdd on


■NIS クライアントの構築手順

以下の設定は NIS クライアント上で行います。
また、NIS マスターサーバの設定が完了していることが前提です。

1. rpm パッケージの確認

NIS の rpm パッケージがすでにインストールされているかを確認します。

# rpm -qa | grep yp
yp-tools-2.4-7
ypbind-1.7-6

ここで ypbind と yp-tools が表示された場合は、すでにインストールされて
いますので、インストールする必要はありません。
RedHat 7.1 のワークステーションでイントールした場合、すでに ypbind と
yp-tools はインストールされています。


2. rpm パッケージの検索とインストール

RedHat 7.1 の CD ROM 1 枚目 [/mnt/cdrom/RedHat/RPMS] に移動し、ls
コマンドで NIS の rpm パッケージを検索します。検索後 NIS クライアント に
必要なパッケージをインストールします。

#mount /dev/cdrom /mnt/cdrom
# cd /mnt/cdrom/RedHat/RPMS
# ls | grep yp
yp-tools-2.4-7.i386.rpm
ypbind-1.7-6.i386.rpm

#rpm -ivh ypbind-1.7-6.i386.rpm
Preparing... ########################################### [100%]
 1:ypbind ########################################### [100%]

#rpm -ivh yp-tools-2.4.7.i386.rpm
Preparing... ########################################### [100%]
 1:yp-tools ########################################### [100%]


3. /etc/yp.conf の設定

/etc/yp.confを次のように編集します。

# more /etc/yp.conf
# /etc/yp.conf - ypbind configuration file
# Valid entries are
#
#domain NISDOMAIN server HOSTNAME
# Use server HOSTNAME for the domain NISDOMAIN.
#
#domain NISDOMAIN broadcast
# Use broadcast on the local net for domain NISDOMAIN
#
#ypserver HOSTNAME
# Use server HOSTNAME for the local domain. The
# IP-address of server must be listed in /etc/hosts.
#
domain nis.test.domain server hp0001
---> NIS DOMAIN 名と NIS マスターサーバの HOSTNAME
(または IP address)を設定します。


4. NIS ドメインの設定

/etc/sysconfig/network ファイルに NIS ドメイン名を設定します。
例)NIS ドメインを `nis.test.domain` とする場合には下記コマンドを実行
します。

# domainname nis.test.domain

現在の NIS ドメイン名の確認方法は nisdomainname コマンド を実行します。

# nidomainname
nis.test.domain

Linux システムを起動した時に自動的に NIS ドメイン名が有効になるように
するには、/etc/sysconfig/network ファイルの最後の行に下記の行を追加
します。

NISDOMAIN=nis.test.domain


5. ypbind の起動

次のコマンドで、ypbind を起動します。

# /etc/rc.d/init.d/ypbind start
Binding to the NIS domain... [ OK ]
Listening for an NIS domain server.

デーモン起動時に status が Fail した場合は /var/log/messages を確認して
ください。
Listening for an NIS domain server で Fail した場合は NIS DOMAIN を認識
していません。

Listening for an NIS domain server... [FAILED]

[確認手段]

a./var/log/messages ファイルでのエラー内容確認
b./etc/yp.conf ファイルの設定確認
c./etc/hosts ファイルの設定確認
d.# domainname コマンドの確認
e.rpcinfo -p [ NIS サーバの IP address ]
f.ipchains の設定確認
---> [マスターサーバーの構築手順について]の手順 4 を参照してくだ
さい。

6. NIS の動作確認

下記のコマンド [ypcat / ypwhich] を実行し、NIS の動作確認を行ってださい。
実行結果が下記(例)のように表示できていれば問題ありません。

[実行結果例]
# ypcat passwd
e0001:AuxgZ/yBg.z86:1000:502::/home2/e0001:/bin/bash
e0003:rAG2KQ3xMZQ7Q:1002:502::/home/e0003:/bin/bash
user01:$1$8Kz1BktPacn8lLMD40:501:501::/home/user01:/bin/bash
e0002:UAI3GYt0h6yQk:1000:502::/home2/e0002:/bin/bash
e0004:aBoK2dyYDdmqw:1004:502::/home2/e0004:/bin/bash

# ypcat group
user01:!:501:
nis-users:!:502:

# ypcat hosts
127.0.0.1 localhost.localdomain localhost
10.0.0.16 hp0001 hp0001.jpn.hp.com
10.0.0.17 hp0002 hp0002.jpn.hp.com

# ypwhich
hp0001

# yppasswd user01
Changing NIS account information for user01 on hp0001.
Please enter root password: ---> root のパスワードを入力します。
Changing NIS password for horie on hp0001.
Please enter new password: ---> new パスワード を入力します。
Please retype new password: ---> new パスワードを再入力します。

The NIS password has been changed on hp0001.


7. システム再起動時の自動実行

次のコマンドで、再起動時に自動的に実行出来るようになります。

# chkconfig portmap on
# chkconfig ypbind on






(2002年6月)

ALT KEYWORDS

Original KMine RCEN JKIDS2002_0230

Legal Disclaimer: Products sold prior to the November 1, 2015 separation of Hewlett-Packard Company into Hewlett Packard Enterprise Company and HP Inc. may have older product names and model numbers that differ from current models.

Provide feedback

Please rate the information on this page to help us improve our content. Thank you!
Document title: RedHat Linux 7.1 での NIS 構築手順
Document ID: emr_na-c00946800-4
How helpful was this document?
How can we improve this document?
Note: Only English language comments can be accepted at this time.
Please wait while we process your request.