最終更新:2006年11月22日
SCS NISを使ったポートアクセス管理
注記: NIS に対するポートアクセスの管理機能の拡張については,SCS本体の /usr/local/doc/nis に次の関連文書がおさめられています. [admin@scs nis]$ ls
Makefile.nis.portAccess lsi_port_access lsi_port_users
lsi-nis-HOWTO lsi_port_awk yp_notes
以下は,lsi-nis-HOWTO Date: 2004/07/29 14:29:45 Revision: 1.3 に加筆したものです.
Logical Solutions (LSI)
Secure Console Server (SCS)
NIS HOWTO
NIS を使ったユーザー認証とポートアクセス管理の運用
0. nfs の運用
NISユーザーアカウントのホームディレクトリはNISサーバ上に置き,NFSクライエントの /home ディレクトリは NFSサーバーの /home にnfsマウントします. よって以下の手順で用意するNISサーバーのNFSサーバーを起動しておき, /etc/export を設定して NFSクライエントからマウントを受け付けるようにしておきます.
NFSサーバー側で
service portmap status
service nfs start
/etc/export を設定
exportfs -a
showmount -e localhost
NFSクライエント側で
service protmap status
service nfslock start
showmount -e NFSサーバー名またはIPアドレス
1. NISサーバの用意
NIS (以前は YP イエローページ) を設定します. 例として RedHat Linux 上にまず マスターNISサーバを設定します.NISの設定方法はOSにより多少異なりますから,それぞれのOSのマニュアルを合わせて参照ください.
1.1 NIS ドメイン名の設定
NISサーバーに NISドメイン名を設定します.セキュリティー上の理由から,NISドメイン名にはDNSドメインとは異なる名前をつけます.この例では NISドメイン名として “scsdomain” を設定します.
# nisdomain scsdomain
1.2 NISサーバの起動
portmap が実行されているか確認し,走っていなければ起動します.
[root@scs223 root]# service portmap status
portmap (pid 17412) を実行中...
[root@scs223 root]#
[root@scs root]# service portmap start
OS起動時に自動起動するように設定します.
[root@scs223 root]# chkconfig --list portmap
portmap 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
[root@scs223 root]# chkconfig --level 345 portmap on
[root@scs223 root]# chkconfig --list portmap
portmap 0:オフ 1:オフ 2:オフ 3:オン 4:オン 5:オン 6:オフ
[root@scs223 root]#
NISサーバーを起動するのにOSを再起動する必要はありません.
RedHat Linux では次のようにしてNISサーバを起動します.
[root@water root]# /sbin/service ypserv start
また NIS サーバはいつでも停止できます.
[root@water root]# /sbin/service ypserv stop
NIS サーバの再起動は.
[root@water root]# /sbin/service ypserv restart
ypserv の起動を確認します.
[root@scs sysconfig]# rpcinfo -u localhost ypserv
プログラム 100004 バージョン 1 の準備が完了し待機中です
プログラム 100004 バージョン 2 の準備が完了し待機中です
[root@scs sysconfig]#
次回のOS起動時に ypserv が自動的に起動するようにします.
[root@scs]# chkconfig --level 345 ypserv on
[root@scs]# chkconfig --list ypserv
ypserv 0:オフ 1:オフ 2:オフ 3:オン 4:オン 5:オン 6:オフ
[root@scs]#
1.3 Makefile ファイルを編集します
/var/yp ディレクトリに移り,NISマップの Makefile ファイルを確認します. Makefile の all: にリストされたマップが共有されます.この例では passwd と shadow と group をNISで共有します.
1.4 ypinit の実行
Makefile を準備したら, -m オプションをつけて ypinit コマンドを実行し, NIS (YP) を初期化します. -m オプションは,マスターNISサーバとしてシステムを立ち上げることを意味します.
[root@water root]# /usr/lib/yp/ypinit -m
このコマンドを実行するとシステムの応答が表示されます.セカンダリNISサーバーの入力を求められたら入力します.すべてのセカンダリNISサーバー名を入力したら CTRL-D を入力します. この入力は /var/yp/ypservers ファイルに保存されます.後ほどこのファイルを変更することもできます.
NISで共有するいずれかのファイル(たとえば /etc/passwd )を更新した場合は,次のコマンドを実行します.
[root@water root]# cd /var/yp; make
1.5 NISサーバーにNISクライエントのホスト名かIPアドレスを登録します
次に NIS ドメインに加わることを許すクライエントを登録します. /var/yp/securenets ファイルを編集して,参加を許可するホストを,"host" 行としてリストに加えます.以下に設定例を示します.詳しくは man ypserv を参照してください.
#
# 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!
host 192.168.0.231
host 192.168.0.232
2. NIS クライエントの設定
2.1 NIS ドメインの設定
クライエントに NISサーバーに設定した NISドメイン名を設定します.この例ではNISサーバーにNISドメイン名 “scsdomain” を設定していますので,クライエントにも同じNISドメイン名を設定します.
# nisdomain scsdomain
2.1 NIS サーバーの指定
クライエントの /etc/yp.conf ファイルに参照する NIS サーバーを指定します. 次の書式の行をこのファイルに追記します.
domain your_domain_name server your_NIS_server_name
ここで, your_domain_name は,NIS サーバーに登録した NISドメイン名, your_NIS_server が NIS サーバーのホスト名ないしIPアドレスです. 2つの記述方法がありますので, /etc/yp.conf ファイルを参照してください.
# /etc/yp.conf - ypbind configuration file
# Valid entries are
#
#domain NISDOMAIN server HOSTNAME
# Use server HOSTNAME for the domain NISDOMAIN.
domain scsdomain server nismaster.mydomain.co.jp
#
#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.
#
2.2 NIS クライエントデーモンを起動します
portmap が実行されているか確認し,走っていなければ起動します.
[root@scs223 root]# service portmap status
portmap (pid 17412) を実行中...
[root@scs223 root]#
[root@scs root]# service portmap start
OS起動時に自動起動するように設定します.
[root@scs223 root]# chkconfig --list portmap
portmap 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
[root@scs223 root]# chkconfig --level 345 portmap on
[root@scs223 root]# chkconfig --list portmap
portmap 0:オフ 1:オフ 2:オフ 3:オン 4:オン 5:オン 6:オフ
[root@scs223 root]#
NIS クライエントは ypbind という名前のデーモンであり,これが NIS サーバーと通信します. NIS クライエントデーモンはいつでも起動できます.
[root@walleye root]# /sbin/service ypbind start
停止するには次のコマンドを使います.
[root@walleye root]# /sbin/service ypbind stop
ypbind の起動に失敗した場合は,NISドメイン名が正しく設定されているか,また/etc/yp.conf ファイルの設定に誤りがないか確認します. クライエント側に間違いがないと思われる場合は,NISサーバー側の設定,特に /var/yp/securenets ファイルをもう一度見直します.
OS起動時にypbindが自動起動するように設定します.
[root@scs223 root]# chkconfig --add ypbind
[root@scs223 root]# chkconfig --level 345 ypbind on
[root@scs223 root]# chkconfig --list ypbind
ypbind 0:オフ 1:オフ 2:オフ 3:オン 4:オン 5:オン 6:オフ
[root@scs223 root]#
2.3 /etc/nsswitch.conf ファイルの編集
/etc/nsswitch.conf ファイルに 'nis' を追加することで,クライエントはNIS を使うようになります. この Network Services Switch ファイル /etc/nsswitch.conf が参照する順番を決定します. 例えば,次の行がホスト名の検索の順番を決めます.
hosts: files nis dns
以下に例を示します.
passwd: nis files
shadow: nis files
group: nis files
2.4 NIS クライエントの設定を試験する
これで NIS クライエントの動作を試験することができます. 次のコマンドで, NIS サーバが管理している passwd 情報を見ることができます.
[root@walleye root]# ypcat passwd.byname
画面にマップが表示されなかった場合は,クライエントとサーバーの設定をもう一度確かめてください.あるいは次のメッセージが表示されるかもしれません.
YPBINDPROC_DOMAIN: domain not bound
このような場合,ファイアウォールがNISの通信を阻止しているかもしれません.ファイアウォールの設定を確かめてください.
|