このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
NISマスター・サーバーは、NIS情報に関する中央のオーソリタティブなリポジトリとして機能します。 NISスレーブ・サーバーは、この情報のミラーとして機能します。 NISドメインには、NISマスター・サーバーが1つだけ存在する必要があります。 NISスレーブ・サーバーの数はオプションですが、少なくとも1つのスレーブ・サーバーを作成すると、マスター・サーバーが使用できない場合に一定の冗長性が提供されます。
NISマスターまたはスレーブ・サーバーを構成するには:
ypserv
パッケージをインストールします。#
yum install ypserv
/etc/sysconfig/network
を編集してエントリを追加し、次の例のようにNISドメインを定義します。NISDOMAIN=mynisdom
/etc/ypserv.conf
を編集してNISオプションを構成し、ホストおよびドメインでアクセスできるNISマップに関するルールを追加します。たとえば、次のエントリでは、192.168.1サブネットの
mynisdom
ドメインにあるNISクライアントのみにアクセスできます。192.168.1.0/24: mynisdom : * : none * : * : * : deny
詳細は、
ypserv.conf(5)
マニュアル・ページおよび/etc/ypserv.conf
のコメントを参照してください。/var/yp/securenets
ファイルを作成し、次の例のように、サーバーがリクエストに応答するネットワークのエントリを追加します。#
cat > /var/yp/securenets <<!
255.255.255.255 127.0.0.1 255.255.255.0 192.168.1.0 ! #cat /var/yp/securenets
255.255.255.255 127.0.0.1 255.255.255.0 192.168.1.0この例では、サーバーはローカル・ループバック・インタフェースおよび192.168.1サブネットからのリクエストを受け入れます。
/var/yp/Makefile
を編集します。必要なマップ・オプションを設定し、次の例のように
all
ターゲットを使用して、作成するNISマップを指定します。all: passwd group auto.home # hosts rpc services netid protocols mail \ # netgrp shadow publickey networks ethers bootparams printcap \ # amd.home auto.local. passwd.adjunct \ # timezone locale netmasks
この例では、NISは、
/etc/passwd
、/etc/group
および/etc/auto.home
ファイルのマップを作成できます。 デフォルトでは、/etc/shadow
ファイルの情報はpasswd
マップにマージされ、/etc/gshadow
ファイルの情報はgroup
マップにマージされます。詳細は、
/var/yp/Makefile
のコメントを参照してください。NIS認証のかわりにKerberos認証を使用する場合は、
MERGE_PASSWD
およびMERGE_GROUP
の値をfalse
に変更します。MERGE_PASSWD=false MERGE_GROUP=false
ノートこれらの設定によって、パスワード・ハッシュがNISマップに表示されなくなります。
ドメインでNISスレーブ・サーバーを構成する場合は、
NOPUSH
の値をfalse
に設定します。NOPUSH=false
この設定によって、マップを更新した場合に、マスター・サーバーがスレーブ・サーバーにマップを自動的にプッシュできるようになります。
NISサービスを構成します。
ypserv
サービスを開始し、システムの再起動後に開始するように構成します。#
service ypserv start
#chkconfig ypserv on
ypserv
サービスが、NISマスター・サーバーおよび任意のスレーブ・サーバーで実行されます。サーバーがマスターNISサーバーとして機能していて、少なくとも1つのスレーブNISサーバーが存在する場合は、
ypxfrd
サービスを開始し、システムの再起動後に開始するように構成します。#
service ypxfrd start
#chkconfig ypxfrd on
ypxfrd
サービスは、NISマスターからNISスレーブ・サーバーへの非常に大きなNISマップの配布を高速化します。 このサービスは、マスター・サーバーでのみ実行され、スレーブ・サーバーでは実行されません。 スレーブ・サーバーが存在しない場合は、このサービスを開始する必要はありません。yppasswdd
サービスを開始し、システムの再起動後に開始するように構成します。#
service yppasswdd start
#chkconfig yppasswdd on
NISユーザーは、
yppasswdd
サービスを使用して、shadow
マップ内の各自のパスワードを変更できます。 このサービスは、NISマスター・サーバーおよび任意のスレーブ・サーバーで実行されます。
ファイアウォール設定を構成します。
/etc/sysconfig/network
を編集して、ypserv
およびypxfrd
サービスがリスニングするポートを定義する、次のエントリを追加します。YPSERV_ARGS="-p 834" YPXFRD_ARGS="-p 835"
これらのエントリによって、
ypserv
およびypxfrd
がリスニングするポートが確定します。ローカル・ネットワークからのポート111と834への着信TCP接続、およびポート111と834での着信UDPデータグラムを許可します。
#
iptables -I INPUT -s
\subnet_addr
/prefix_length
-p tcp-m state --state NEW -m tcp --dport 111 -j ACCEPT
#iptables -I INPUT -s
\subnet_addr
/prefix_length
-p tcp-m state --state NEW -m tcp --dport 834 -j ACCEPT
#iptables -I INPUT -s
\subnet_addr
/prefix_length
-p udp-m udp --dport 111 -j ACCEPT
#iptables -I INPUT -s
\subnet_addr
/prefix_length
-p udp-m udp --dport 834 -j ACCEPT
#service iptables save
この例では、
subnet_addr
/
prefix_length
によって、192.168.1.0/24
などのネットワーク・アドレスが指定されます。portmapper
は、TCPポート111およびUDPポート111でリクエストを処理し、ypserv
はTCPポート834およびUDPポート834でリクエストを処理します。マスター・サーバーで、スレーブ・サーバーへの転送をサポートするために
ypxfrd
サービスを実行する場合は、ローカル・ネットワークからのポート835への着信TCP接続、およびポート835での着信UDPデータグラムを許可します。#
iptables -I INPUT -s
\subnet_addr
/prefix_length
-p tcp-m state --state NEW -m tcp --dport 835 -j ACCEPT
#iptables -I INPUT -s
\subnet_addr
/prefix_length
-p udp-m udp --dport 835 -j ACCEPT
#service iptables save
yppasswdd
がリスニングするポートでのローカル・ネットワークからの着信UDPデータグラムを許可します。#
iptables -I INPUT -s
\subnet_addr
/prefix_length
-p udp-m udp --dport `rpcinfo -p | gawk '/yppasswdd/ {print $4}'` -j ACCEPT
ノートこのルールは保存しないでください。
yppasswdd
で使用するUDPポート番号は、再起動するたびに異なります。/etc/rc.local
を編集し、次の行を追加します。iptables -I INPUT -s
subnet_addr
/prefix_length
-p udp \ -m udp --dport `rpcinfo -p | gawk '/yppasswd/ {print $4}'` -j ACCEPTこのエントリによって、システム再起動時の
yppasswdd
サービスのファイアウォール・ルールが作成されます。yppasswdd
を再起動する場合は、/etc/init.d/yppasswdd
スクリプトを変更しないかぎり、iptables
ルールを手動で修正する必要があります。
すべてのサーバーを起動した後は、マスターNISサーバーにNISマップを作成します。
#
/usr/lib64/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS servers.nismaster
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:nismaster
next host to add:
next host to add:nisslave1
next host to add:nisslave2
^D
The current list of NIS servers looks like this:nismaster
nisslave1
nisslave2
Is this correct? [y/n: y]y
We need a few minutes to build the databases... ... localhost has been set up as a NIS master server. Now you can run ypinit -snismaster
on all slave server.NISスレーブ・サーバー(ある場合)のホスト名を入力し、
を入力して終了し、[Ctrl]-[D]
y
を入力してNISサーバーのリストを確定します。 ホスト名は、DNSのIPアドレスに、または/etc/hosts
のエントリによって解決可能である必要があります。ypinitユーティリティは、
/var/yp
にドメイン・サブディレクトリを作成し、/var/yp/Makefile
のall
ターゲットに関して定義するNISマップを作成します。/var/yp/Makefile
にNOPUSH=false
を、/var/yp/ypservers
にスレーブ・サーバーの名前を構成した場合は、このコマンドによって更新されたマップがスレーブ・サーバーにもプッシュされます。各NISスレーブ・サーバーで、次のコマンドを実行してサーバーを初期化します。
#
/usr/lib64/yp/ypinit -s
nismaster
この例では、
nismaster
は、NISマスター・サーバーのホスト名またはIPアドレスです。詳細は、
ypinit(8)
マニュアル・ページを参照してください。
マップの作成に使用したマスターNISサーバーのソース・ファイルのいずれかを更新した場合は、マスターNISサーバーで次のコマンドを使用してマップを再作成し、変更内容をスレーブ・サーバーにプッシュしてください。
# make -C /var/yp