Solaris のシステム管理 (ネーミングとディレクトリサービス : FNS、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.'