このドキュメントで説明するソフトウェアは、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/securenets255.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 onypservサービスが、NISマスター・サーバーおよび任意のスレーブ・サーバーで実行されます。サーバーがマスターNISサーバーとして機能していて、少なくとも1つのスレーブNISサーバーが存在する場合は、
ypxfrdサービスを開始し、システムの再起動後に開始するように構成します。#
service ypxfrd start#chkconfig ypxfrd onypxfrdサービスは、NISマスターからNISスレーブ・サーバーへの非常に大きなNISマップの配布を高速化します。 このサービスは、マスター・サーバーでのみ実行され、スレーブ・サーバーでは実行されません。 スレーブ・サーバーが存在しない場合は、このサービスを開始する必要はありません。yppasswddサービスを開始し、システムの再起動後に開始するように構成します。#
service yppasswdd start#chkconfig yppasswdd onNISユーザーは、
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 saveyppasswddがリスニングするポートでのローカル・ネットワークからの着信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 -mAt this point, we have to construct a list of the hosts which will run NIS servers.nismasteris 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:nismasternext host to add:next host to add:nisslave1next host to add:nisslave2^DThe current list of NIS servers looks like this:nismasternisslave1nisslave2Is this correct? [y/n: y]yWe need a few minutes to build the databases... ... localhost has been set up as a NIS master server. Now you can run ypinit -snismasteron 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 -snismasterこの例では、
nismasterは、NISマスター・サーバーのホスト名またはIPアドレスです。詳細は、
ypinit(8)マニュアル・ページを参照してください。
マップの作成に使用したマスターNISサーバーのソース・ファイルのいずれかを更新した場合は、マスターNISサーバーで次のコマンドを使用してマップを再作成し、変更内容をスレーブ・サーバーにプッシュしてください。
# make -C /var/yp
