このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

23.5.2 NISサーバーの構成

NISマスター・サーバーは、NIS情報に関する中央のオーソリタティブなリポジトリとして機能します。 NISスレーブ・サーバーは、この情報のミラーとして機能します。 NISドメインには、NISマスター・サーバーが1つだけ存在する必要があります。 NISスレーブ・サーバーの数はオプションですが、少なくとも1つのスレーブ・サーバーを作成すると、マスター・サーバーが使用できない場合に一定の冗長性が提供されます。

NISマスターまたはスレーブ・サーバーを構成するには:

  1. ypservパッケージをインストールします。

    # yum install ypserv 
  2. /etc/sysconfig/networkを編集してエントリを追加し、次の例のようにNISドメインを定義します。

    NISDOMAIN=mynisdom
  3. /etc/ypserv.confを編集してNISオプションを構成し、ホストおよびドメインでアクセスできるNISマップに関するルールを追加します。

    たとえば、次のエントリでは、192.168.1サブネットのmynisdomドメインにあるNISクライアントのみにアクセスできます。

    192.168.1.0/24: mynisdom : * : none
    * : * : * : deny

    詳細は、ypserv.conf(5)マニュアル・ページおよび/etc/ypserv.confのコメントを参照してください。

  4. /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サブネットからのリクエストを受け入れます。

  5. /var/yp/Makefileを編集します。

    1. 必要なマップ・オプションを設定し、次の例のように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のコメントを参照してください。

    2. NIS認証のかわりにKerberos認証を使用する場合は、MERGE_PASSWDおよびMERGE_GROUPの値をfalseに変更します。

      MERGE_PASSWD=false
      MERGE_GROUP=false
      ノート

      これらの設定によって、パスワード・ハッシュがNISマップに表示されなくなります。

    3. ドメインでNISスレーブ・サーバーを構成する場合は、NOPUSHの値をfalseに設定します。

      NOPUSH=false

      この設定によって、マップを更新した場合に、マスター・サーバーがスレーブ・サーバーにマップを自動的にプッシュできるようになります。

  6. NISサービスを構成します。

    1. ypservサービスを開始し、システムの再起動後に開始するように構成します。

      # service ypserv start
      # chkconfig ypserv on

      ypservサービスが、NISマスター・サーバーおよび任意のスレーブ・サーバーで実行されます。

    2. サーバーがマスターNISサーバーとして機能していて、少なくとも1つのスレーブNISサーバーが存在する場合は、ypxfrdサービスを開始し、システムの再起動後に開始するように構成します。

      # service ypxfrd start
      # chkconfig ypxfrd on

      ypxfrdサービスは、NISマスターからNISスレーブ・サーバーへの非常に大きなNISマップの配布を高速化します。 このサービスは、マスター・サーバーでのみ実行され、スレーブ・サーバーでは実行されません。 スレーブ・サーバーが存在しない場合は、このサービスを開始する必要はありません。

    3. yppasswddサービスを開始し、システムの再起動後に開始するように構成します。

      # service yppasswdd start
      # chkconfig yppasswdd on

      NISユーザーは、yppasswddサービスを使用して、shadowマップ内の各自のパスワードを変更できます。 このサービスは、NISマスター・サーバーおよび任意のスレーブ・サーバーで実行されます。

  7. ファイアウォール設定を構成します。

    1. /etc/sysconfig/networkを編集して、ypservおよびypxfrdサービスがリスニングするポートを定義する、次のエントリを追加します。

      YPSERV_ARGS="-p 834"
      YPXFRD_ARGS="-p 835"

      これらのエントリによって、ypservおよびypxfrdがリスニングするポートが確定します。

    2. ローカル・ネットワークからのポート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でリクエストを処理します。

    3. マスター・サーバーで、スレーブ・サーバーへの転送をサポートするために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
    4. 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ポート番号は、再起動するたびに異なります。

    5. /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ルールを手動で修正する必要があります。

  8. すべてのサーバーを起動した後は、マスター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:  nisslave1
          next host to add:  nisslave2
          next host to add:  ^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 -s nismaster on all slave server.

    NISスレーブ・サーバー(ある場合)のホスト名を入力し、[Ctrl]-[D]を入力して終了し、yを入力してNISサーバーのリストを確定します。 ホスト名は、DNSのIPアドレスに、または/etc/hostsのエントリによって解決可能である必要があります。

    ypinitユーティリティは、/var/ypにドメイン・サブディレクトリを作成し、/var/yp/Makefileallターゲットに関して定義するNISマップを作成します。 /var/yp/MakefileNOPUSH=falseを、/var/yp/ypserversにスレーブ・サーバーの名前を構成した場合は、このコマンドによって更新されたマップがスレーブ・サーバーにもプッシュされます。

  9. 各NISスレーブ・サーバーで、次のコマンドを実行してサーバーを初期化します。

    # /usr/lib64/yp/ypinit -s nismaster

    この例では、nismasterは、NISマスター・サーバーのホスト名またはIPアドレスです。

    詳細は、ypinit(8)マニュアル・ページを参照してください。

ノート

マップの作成に使用したマスターNISサーバーのソース・ファイルのいずれかを更新した場合は、マスターNISサーバーで次のコマンドを使用してマップを再作成し、変更内容をスレーブ・サーバーにプッシュしてください。

# make -C /var/yp