複数の Trusted Solaris ホストを持つ 1 つのセキュリティドメイン内では、ユーザー情報、ホスト情報、ラベル情報の一貫性を実現するために、サンの NIS+ ネームサービスを利用した各種設定情報の配布が行われます。
NIS+ の管理方法については Solaris 7 System Administrator Collection の次のマニュアルを参照してください。
『Solaris 7 System Administrator Collection』
『Solaris ネーミングの管理』
NIS+ マスターサーバーおよび NIS+ クライアントの設定方法については、『Trusted Solaris のインストールと構成』を参照してください。
この章では、Trusted Solaris 環境における NIS+ の管理方法の特徴を説明します。この章では次の項目について説明します。
この章では次の操作手順を説明します。
Trusted Solaris の NIS+ マスターを使うと、Trusted Solaris の NIS+ クライアントまたは標準 Solaris の NIS+ クライアント用のデータを管理できます。 NIS 互換モードを使っている場合、Trusted Solaris の NIS+ マスターは NIS クライアント (1.x バージョンの Trusted Solaris オペレーティング環境が動作しているホストなど) の日付も管理できます。NIS 互換モードでは、標準の NIS+ サーバーと若干異なる設定手順が必要になります。NIS 互換モードは、NIS+ テーブルのセキュリティに影響を与えます。NIS 互換モードの相違点とセキュリティに対する影響については、『NIS+ 移行ガイド』の「NIS 互換モードの使用方法」を参照してください。
また、Trusted Solaris ホストは、Solaris NIS+ マスターのクライアントにはなれません。
1 つのセキュリティドメインは、通常、単一の NIS+ マスターを持つ単一の NIS+ ドメインとして管理されます。単一の NIS+ ルートマスターの下に複数の NIS+ マスターのサブドメインがぶら下がるような階層構造を利用して、複数のセキュリティドメインをまとめて管理することも可能です。作成できる NIS+ ルートマスターは 1 台のみですが、NIS+ 照会サービスを補強するために複数の複製サーバーを作成できます。複製サーバーは特定の NIS+ マスター (ルートまたは非ルート) に関連付けられており、主マスターが応答できない場合、これに代わって NIS+ 照会要求に応じます。
何らかの理由で NIS+ 経由では管理できない設定ファイル群は、個々のホストで集中して管理し、何らかの方法で各ホストにコピーしなければなりません(「変更した構成ファイルのネットワーク上のホストへの配布」を参照してください)。
Trusted Solaris ホストは、他のオペレーティングシステムが動作しているホストとネットワーク接続することはもちろん、スタンドアロンで使用することもできます。スタンドアロン型の Trusted Solaris ホストは、それが自分自身の NIS+ マスターサーバーとなるように設定することも、またはネームサービスを使わないように設定することもできます。後者の場合、設定情報は /etc、/etc/security、/etc/security/tsol の各ディレクトリに保持されます。Trusted Solaris 版 Solstice AdminSuite の管理ツールを使うと、管理役割はネームサービスを使わないように指定し、設定情報がローカルに格納されるよう設定できます。
サイトのセキュリティポリシーが許すならば、スーパーユーザーの機能を拡張して、スーパーユーザー役割が NIS+ クライアントから NIS+ を管理できるように設定することも可能です。ただし、これはお勧めできません。新しい役割が NIS+ を管理できるように設定するには、その役割の名前を主体 (プリンシパル) 名として NIS+ の admin グループ内に追加する必要があります。
root が NIS+ クライアントから NIS+ を管理できるように設定するには、nisgrpadm(1) コマンドを使って、その NIS+ クライアント名を NIS+ の admin グループに追加する必要があります。この手順については、「スーパーユーザーまたは新しい役割が NIS+ を管理できるように設定するには」を参照してください。
新しい管理役割を作成して NIS+ テーブルを管理できるように設定するには、その役割の主体名 (たとえば、nnewrole.security.sun.com.) 用のエントリを NIS+ の admin グループに追加する必要があります。この手順については、「スーパーユーザーまたは新しい役割が NIS+ を管理できるように設定するには」を参照してください。
新たに導入された Trusted Solaris の NIS+ テーブルを次の表に示します。
表 12-1 新たに導入された NIS+ テーブルマップ名 | 定義 |
tsoluser | ユーザーや役割アカウントに指定されたTrusted Solaris属性および実行プロファイルを格納。 |
tsolprof | 実行プロファイルを格納。 |
tnrhdb | ホストとネットワークアドレス間の対応、および tnrhtp(4) 内のテンプレートを格納。 |
tnrhtp | ホストやネットワークに割り当てられる、tnrhdb(4) 内のテンプレートを格納 |
次の表に、通常すべてのマシンで同一でなければならない設定ファイルのうち、NIS+ 経由で管理されないものを示します。システム構築後にこれらのファイルが変更された場合、管理者は変更されたファイルを各ホストに配布しなければなりません。
表 12-2 NIS+ 経由で管理されない設定ファイルファイル名 |
---|
label_encodings(4) |
system(4) |
標準 Solaris では、管理者役割は保護されたデータフィールドを持つ NIS+ テーブルを追加することができます。詳細は NIS+ 管理に関する一連のマニュアルを参照してください。
デフォルトの NIS+ テーブルに新たに行を追加したり、テーブルフィールド用に定義されたアクセス規則を変更したりしないでください。
新しい NIS+ クライアントを追加する場合、管理者役割はそのホスト名と IP アドレスを hosts データベースに入力すると、ホストマネージャを使ってそのホストと NIS+ マスターとの関係を設定し、そのホストの持つ NIS+ 資格を指定します。ホストマネージャによって新しいホストに割り当てられるデフォルトの Secure RPC パスワードは nisplus になります。
データベースマネージャは、NIS+ クライアントでないホストだけに使ってください。データベースマネージャはホストの名前と IP アドレスを hosts データベースに記録するだけで、その他の設定は行いません。
(省略可能) 何らかの手段 (スクリプトの作成など) によって、NIS+ テーブルの内容を ASCII ファイルにダンプします。
NIS+ テーブルの内容は定期的に (少なくとも NIS+ 設定を変更した場合には必ず) ASCII ファイルにダンプしておくことをお勧めします。
スクリプトを作成するには、セキュリティ管理者役割になり、「管理用エディタ (Admin Editor)」アクションを使って、スクリプトファイルを ADMIN_LOW
で作成します。
次に示すスクリプト nisscript は、システム管理者役割が NIS+ テーブルの内容を ASCII ファイルにダンプするために使うものです。また、このスクリプトは、将来グループテーブルが再度作成される場合に備えて、グループ番号のリストを生成します。
#!/bin/sh # nisscript # nisplus tables into ascii files # mkdir -p /var/nis-backup chmod 700 /var/nis-backup cp /etc/.rootkey /var/nis-backup/dot-rootkey # standard Solaris and Trusted Solaris tables # NOTE: Add any tables created at your site cd /var/nis/data for i in aliases bootparams ethers group hosts netgroup ¥ netmasks networks passwd protocols rpc services ¥ timezone tnrhdb tnrhtp tsolprof tsoluser shadow do echo $i /usr/lib/nis/nisaddent -d $i >/var/nis-backup/$i done # Use the following if you have any key value tables for i in sendmailvars tntime do echo $i /usr/lib/nis/nisaddent -d -t $i.org_dir key-value >/var/nis-backup/$i done # get a list of each group and list each member in each group mkdir -p /var/nis-backup/groups.list chmod 700 /var/nis-backup/groups.list for i in `nisls groups_dir | grep -v `:'` do nisgrpadm -l $i >> /var/nis-backup/groups.list/group.members done |
スーパーユーザー (root) 役割になり、ADMIN_LOW
ラベルで前の手順で作成した nisscript を実行します。
グループごとに nisgrpadm -l group_name を実行して、そのグループの各メンバーの一覧を表示し、その出力を保存します。この出力は、手順 7 で使います。
$ nisgrpadm -l group_name |
インストール時に上書きされないパーティションに、生成された ASCII ダンプファイルを含むディレクトリをコピーします。またはそのファイルを tar でテープやフロッピーにコピーします。
インストール時に上書きされないパーティションに ASCII ダンプファイルをコピーしなかった場合、インストール終了後に、ADMIN_LOW
ラベルのスーパーユーザー (root) 役割のまま NIS+ テーブルの ASCII ダンプ用の作業ディレクトリを作成し、テープやフロッピーに収めた ASCII ダンプファイルをそのディレクトリ内に復元します。
テープに収めた ASCII ダンプファイルを /setup/files ディレクトリ内に復元する例を以下に示します。
# cd /setup/files # tar xv bootparams ethers . . . |
『Trusted Solaris のインストールと構成』の「NIS+ ルートマスターの構成」で説明している適切な時点で、NIS+ 環境を再作成します。
# nisserver -r -d domain-name. |
上記のコマンドを実行する場合、ドメイン名 (domain-name) の末尾にピリオド (.) が付いていることを確認してください。
nisserver コマンドを実行した後、セキュリティ管理役割になり、ADMIN_LOW
ラベルで、プロファイルシェル内から次のような nispopulate コマンド (-F オプションと -p オプション、その後に ASCII ダンプファイルが格納されているディレクトリ名を指定したもの) を実行します。
# nispopulate -F -p /setup/files |
NIS+ グループを再度作成し、手順 1 の nisscript で作成されたグループメンバーのリストを使って、この NIS+ グループにメンバーを手動で追加します。
NIS+ グループを自動的に再作成する簡単な方法はありません。