ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 でのネームサービスおよびディレクトリサービスの作業 Oracle Solaris 11.1 Information Library (日本語) |
4. Oracle Solaris Active Directory クライアントの設定 (タスク)
ブロードキャストモードで NIS クライアントを構成する方法
特定の NIS サーバーを使用して NIS クライアントを構成する方法
11. LDAP クライアントと Oracle Directory Server Enterprise Edition の設定 (タスク)
以降のセクションでは、マスターサーバーのソースファイルと passwd ファイルを準備する方法を説明します。
ソースファイルは通常、マスターサーバー上の /etc ディレクトリ内にあります。ただし、マップの内容がマスターサーバー上のローカルファイルの内容と同じになるため、ソースファイルを /etc に置いたままにしておくことはお勧めできません。すべてのユーザーがマスターサーバーのマップにアクセスでき、root パスワードが passwd マップを通してすべての NIS クライアントに渡されるため、これは passwd および shadow ファイルの特殊な問題です。詳細は、「passwd ファイルと名前空間のセキュリティー」を参照してください。
ただし、ソースファイルをほかのディレクトリに入れた場合は、/var/yp 内の Makefile の DIR=/etc 行を DIR=/your-choice に変更する必要があります。your-choice はソースファイルを格納するためのディレクトリの名前です。これによって、サーバー上のローカルファイルをクライアント上のファイルのように扱うことができます。(最初に、元の Makefile のコピーを保存することをお勧めします。)
さらに、audit_user、auth_attr、exec_attr、および prof_attr NIS マップを、デフォルト以外のディレクトリから作成するようにしてください。RBACDIR =/etc/security を RBACDIR=/your-choice に変更することによって /var/yp/Makefile を修正します。
セキュリティー上の理由から未承認の root アクセスを防ぐために、NIS のパスワードマップの構築に使用されるファイルには root のエントリを含めないでください。このため、パスワードマップはマスターサーバーの /etc ディレクトリに置かれたファイルから構築しないでください。パスワードマップを構築するために使用されるパスワードファイルは、そこから root エントリを削除し、未承認のアクセスから保護できるディレクトリ内に配置するようにしてください。
たとえば、マスターサーバーのパスワード入力ファイルは、ファイル自体が別のファイルへのリンクではなく、ファイルの場所が Makefile に指定されている限り、/var/yp/ などのディレクトリに格納されているか、選択したディレクトリに格納されている必要があります。Makefile で指定された構成に従って、正しいディレクトリオプションが自動的に設定されます。
注意 - PWDDIR で指定されたディレクトリ内の passwd ファイルに root のエントリが含まれていないことを確認してください。 |
ソースファイルが /etc 以外のディレクトリ内に存在する場合は、/var/yp/Makefile 内の PWDIR パスワードマクロを、passwd および shadow ファイルが存在するディレクトリを参照するように変更する必要があります。PWDIR=/etc の行を PWDIR=/your-choice に変更します。ここで、your-choice は、passwd マップのソースファイルを格納するために使用するディレクトリの名前です。
この手順では、NIS マップへの変換のためのソースファイルを準備する方法について説明します。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
次のファイルを確認します。
audit_user
auth_attr
auto.home または auto_home
auto.master または auto_master
bootparams
ethers
exec_attr
group
hosts
ipnodes
netgroup
netmasks
networks
passwd
protocols
rpc
service
shadow
user_attr
ソースディレクトリは、DIR マクロによって /var/yp/Makefile で定義されています。
パスワードのソースディレクトリは、PWDIR マクロによって Makefile で定義されています。
RBAC のソースディレクトリは、RBACDIR マクロによって /var/yp/Makefile で定義されています。必要に応じて、auth_attr ファイルをコピーする前に、/etc/security/auth_attr.d ディレクトリ内のファイルの内容をそのファイルのコピーにマージします。同様に、必要に応じて、exec_attr.d および prof_attr.d ディレクトリ内のファイルを exec_attr と prof_attr に結合します。
注意 - これらのファイルは、システムがアップグレードされるときは常に再マージする必要があるため、これらのローカルファイルを /etc/security/*.d ディレクトリ内のリリースファイルとは別に保管してください。 |
ほかのソースファイルとは異なり、/etc/mail/aliases ファイルは別のディレクトリに移動できません。このファイルは /etc/mail ディレクトリに格納されていなければなりません。詳細は、aliases(4) のマニュアルページを参照してください。
注 - /var/yp/Makefile 内の ALIASES = /etc/mail/aliases エントリが別の場所を指すようにすることによって、NIS 固有のメールエイリアスファイルを追加できます。そのあとに make コマンドを実行すると、ALIASES エントリによって mail.aliases マップが作成されます。/etc/nsswitch.conf ファイルで files に加えて nis が正しく指定されている場合、sendmail サービスは、/etc/mail/aliases ファイルに加えてこのマップを使用します。「/var/yp/Makefile の変更および使用」を参照してください。
これらの操作は、sed や awk のスクリプトか、またはテキストエディタを使用して実行できます。/var/yp/Makefile は一部のファイルクリーニングを自動的に実行しますが、make コマンドを実行する前に、これらのファイルを手動で調べてクリーンアップすることをお勧めします。
ソースファイルのデータは、その特定のファイルに適した形式になっている必要があります。該当するマニュアルページを参照して、各ファイルが正しい形式になっていることを確認します。
ソースファイルをチェックしてソースファイルのディレクトリにコピーしたら、次に、これらのソースファイルを NIS サービスが使用する ndbm 形式のマップに変換する必要があります。「マスターサーバーを設定する方法」で説明されているように、これは、マスターサーバー上で呼び出されると ypinit によって自動的に実行されます。
ypinit スクリプトは、/var/yp/Makefile を使用する make プログラムを呼び出します。このファイルのデフォルトのコピーが /var/yp ディレクトリに用意されており、このコピーには、ソースファイルを目的の ndbm 形式のマップに変換するために必要なコマンドが含まれています。
デフォルトの Makefile はそのまま使用することも、変更することもできます。デフォルトの Makefile を変更する場合は、将来使用する場合の必要に備えて、必ず最初に元のデフォルトの Makefile をコピーして保管するようにしてください。次に説明する Makefile への修正のうち、必要に応じて 1 つまたは複数を実行します。
デフォルト以外のマップ
独自のデフォルト以外のソースファイルを作成しており、それを NIS マップに変換する場合は、これらのソースファイルを Makefile に追加する必要があります。
DIR 値
「ソースファイルのディレクトリ」で説明しているように、/etc 以外のディレクトリに格納されたソースファイルを Makefile で使用する場合は、Makefile の DIR の値を、使用するディレクトリに変更してください。Makefile 内のこの値を変更する場合は、その行をインデントしないでください。
PWDIR 値
Makefile で、/etc 以外のどこかのディレクトリ内に格納されている passwd、shadow、および adjunct ソースファイルを使用する場合は、Makefile 内の PWDIR の値を、使用するディレクトリに変更する必要があります。Makefile 内のこの値を変更する場合は、その行をインデントしないでください。
RBACDIR 値
Makefile で、/etc 以外のどこかのディレクトリ内に格納されている audit_user、auth_attr、exec_attr、および prof_attr ソースファイルを使用する場合は、Makefile 内の RBACDIR の値を、使用するディレクトリに変更する必要があります。Makefile 内のこの値を変更する場合は、その行をインデントしないでください。
ドメインネームリゾルバ
NIS サーバーで、現在のドメイン内にないマシンのためにドメインネームリゾルバを使用する場合は、Makefile の行 B= をコメントアウトし、行 B=-b をコメント解除 (有効に) します。
Makefile の機能は、all の下にリストされている各データベースの適切な NIS マップを作成することです。データは makedbm を通過したあと、mapname.dir と mapname.pag の 2 つのファイル内に収集されます。このどちらのファイルも、マスターサーバー上の /var/yp/domainname ディレクトリ内にあります。
Makefile は、必要に応じて、/PWDIR/passwd、/PWDIR/shadow、および /PWDIR/security/passwd.adjunct ファイルから passwd マップを構築します。
通常、NIS マスターサーバーパッケージは、Oracle Solaris リリースの必要に応じてインストールされます。システムをインストールしたときにこのパッケージが含まれていなかった場合は、次の手順を使用してこのパッケージをインストールします。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# pkg install pkg:/service/network/nis
ypinit スクリプトは、マスターサーバー、スレーブサーバー、およびクライアントを、NIS を使用するように設定します。また、最初に make コマンドを実行して、マスターサーバー上にマップも作成します。
ypinit コマンドを使用して、マスターサーバー上に NIS マップの新しいセットを構築するには、次の手順を完了します。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
各 NIS サーバーのホスト名と IP アドレスを追加します。IPaddress FQDN-hostname aliases の形式を使用します。
例:
129.0.0.1 master.example.com master 129.0.0.2 slave1.example.com slave1 129.0.0.3 slave2.example.com slave2
# /usr/sbin/ypinit -m
ypinit から、NIS スレーブサーバーになるほかのマシンのリストを入力するよう求められたら、作業しているサーバーの名前を、/etc/inet/hosts ファイルで指定した NIS スレーブサーバーの名前とともに入力します。
# domainname example.com
ypinit から、致命的でないエラーが最初に発生したときに手順を終了するか、または致命的でないエラーが発生しても続行するかを尋ねられたら、y を入力します。y を選択すると、ypinit は最初の問題が発生したときに終了します。その場合は、その問題を解決してから ypinit を再起動できます。ypinit を初めて実行する場合はこの手順に従うようにしてください。処理を継続する場合は、発生する問題をすべて手動で解決してから ypinit を再起動します。
注 - マップファイルの一部が存在しないと、致命的でないエラーが発生することがあります。これは NIS の機能に影響を与えるエラーではありません。マップが自動的に作成されない場合は、必要に応じて手動で追加します。すべてのデフォルトの NIS マップの詳細については、「デフォルトの NIS マップ」を参照してください。
ypinit コマンドから、/var/yp/domain-name ディレクトリ内の既存のファイルを破棄してもよいかどうか尋ねられます。このメッセージは、NIS が以前に設定されている場合にだけ表示されます。通常、以前のインストールのファイルをクリーンアップする場合は、ソースファイルを削除することを選択します。
このプログラムは、/var/yp にある Makefile (デフォルトファイルまたは変更したファイルのどちらか) に含まれている手順を使用します。make コマンドは、指定されたファイルから残っているコメント行をすべて削除します。また、指定したファイルに対して makedbm を実行して適切なマップを作成し、各マップにマスターサーバー名を設定します。
Makefile によってプッシュされているマップが、マスター上の domainname コマンドによって返されたドメイン以外のドメインに対応している場合は、次のように、ypinit シェルスクリプト内で変数 DOM の正しい ID を指定して make を起動することによって、それらのマップが正しいドメインに確実にプッシュされるようにすることができます。
# make DOM=domain-name passwd
このコマンドによって、マスターサーバーが属するドメインではなく目的のドメインに passwd マップが転送されます。
「ネームサービススイッチの管理」を参照してください。
通常、NIS マスターサーバーがサポートする NIS ドメインは 1 つだけです。ただし、マスターサーバーを使用して複数のドメインをサポートする場合は、追加のドメインをサポートするようにサーバーを設定するときに、「マスターサーバーを設定する方法」で説明されている手順を少し変更する必要があります。
詳細は、『Oracle Solaris 11.1 の管理: セキュリティーサービス』の「割り当てられている管理権限を使用する方法」を参照してください。
# domainname sales.example.com
# make DOM=sales.example.com