Solaris のシステム管理 (ネーミングとディレクトリサービス : NIS+ 編)

列アクセス権を指定する

nistbladm コマンドは NIS+ テーブルに種々の操作を行うことができます。これについては 「テーブルでの nistbladm コマンドの使用」にほとんどの説明があります。このコマンドは -c-u の 2 つのオプションを使用してセキュリティ関連のタスクを実行できます。

テーブル作成時の列権利設定

テーブルが作成された時、列にはテーブルオブジェクトと同じ権利が付与されます。このテーブルレベルの権利は環境変数 NIS_DEFAULTS で指定されるか、またはテーブルを作成したコマンドの一部で指定されます。nistbladm コマンドでテーブルを作成する際に -c オプションを使用すれば、最初の列アクセス権を指定できます。このオプションを使用するには、テーブルを作成しようとするディレクトリの作成権が必要です。テーブル作成時に列権利を指定するには、次のように入力します。


nistbladm -c type ` columname=[flags] [, access]... tablename'

引数の意味はそれぞれ以下のとおりです。

テーブルを作成する際、列に独自の権利を付与するには、列の型とコンマの後の各列の等号記号にアクセス権を追加します。次のように、列をスペースで区切ります。


column=type,rights column=type,rights column=type,rights

以下の例では、div 特性で depts という名前のテーブルが doc.com ディレクトリに作成されます。列は NameSite および Manager の 3 つです。 第 2、第 3 列のグループには、変更権が追加されます。


rootmaster% nistbladm -c div Name=S Site=S,g+m Manager=S,g+m depts.doc.com.

nistbladm -c オプションの詳細は、第 19 章「NIS+ テーブルの管理」を参照してください。

既存のテーブル列に権利を追加する

既存の NIS+ テーブルの列にアクセス権を追加するには、nistbladm -u オプション付きの nistbladm コマンドを使用します。このオプションを使用する場合、テーブル列の変更権が必要です。入力例を次に示します。


nistbladm -u [column=  access,...],tablename

引数の意味はそれぞれ以下のとおりです。

権利を更新する列ごとに column=access のペアを使用します。複数の列を更新するにはコンマ (,) で区切り全体を角括弧 ( []?) で囲みます。


[column=access, column=access,  column=access]

このオプションの完全な構文については、第 2 章「NIS+ の紹介」を参照してください。

次の例は、hosts.org_dir.doc.com. テーブルの name および addr 列のグループに、作成権と変更権を追加するものです。


client% nistbladm -u `[name=g+rm,addr=g+rm],hosts.org_dir..doc.com.'

テーブル列から権利を削除する

NIS+ テーブル列のアクセス権を削除するには、上記 「既存のテーブル列に権利を追加する」で説明したように -u オプションを使用します。ただし + 記号を使って権利を追加するのではなく、- 記号を使って権利を削除します。

次の例は、hosts.org_dir.doc.com. テーブルの hostname 列のグループの読み取り権と変更権を削除するものです。


client% nistbladm -u 'name=g-rm,hosts.org_dir.doc.com.'