この節では、承認とアクセス権に関係する NIS+ コマンドに使われるアクセス権の構文について説明します。
アクセス権は、環境変数で指定する場合もコマンドで指定する場合も、「クラス (class)」、「演算子 (operator)」、「権利 (right)」という 3 種類の引数で区別されます。
「クラス」
クラスは、「権利」が適用される NIS+ 主体のカテゴリを意味します。
| クラス | 説明 | 
|---|---|
| n | 未認証: すべての未認証要求 | 
| o | オブジェクトまたはテーブルエントリの所有者 | 
| g | オブジェクトまたはテーブルエントリのグループ所有者 | 
| w | その他: すべての認証済み主体 | 
| a | すべて: 所有者、グループ、およびその他の省略形。これはデフォルト | 
「演算子」
演算子は、「権限」について行われる 操作を示します。
| 演算子 | 説明 | 
|---|---|
| + | 「権利」によって指定されたアクセス権を追加する | 
| - | 「権利」によって指定されたアクセス権を取り消す | 
| = | この演算子権利によって指定されたアクセス権に変更する。つまり、既存の「権利」をすべて取り消し、新しいアクセス権に置き換える | 
「権限」
アクセス権そのものです。使用可能な値は次のとおりです。
| 権利 | 説明 | 
|---|---|
| r | オブジェクト定義またはテーブルエントリを読み取る | 
| m | オブジェクト定義またはテーブルエントリを変更する | 
| c | テーブルエントリまたは列を作成する | 
| d | テーブルエントリまたは列を削除する | 
コンマ (、) で区切ることで、複数のコマンドを 1 つのコマンド行にまとめることができます。
表 9-10 クラス、演算子、権限の構文 - 例| 操作 | 構文 | 
|---|---|
| 読み取りアクセス権を「所有者」クラスに追加する | o+r | 
| 変更アクセス権を所有者、グループ、およびその他のクラスに追加する | a=m | 
| 読み取りと変更の権限をその他と未認証クラスに追加する | wn+m | 
| グループ、その他、および未認証クラスから 4 つの権限をすべて削除する | gwn-rmcd | 
| 所有者クラスに作成と削除の権限を追加し、その他と未認証クラスに読み取り権と変更権を追加する | o+cd,wn+rm | 
「所有者」
NIS+ グループを指定するには、NIS+ グループ名にドメイン名を付けて使います。
「グループ」
NIS+ グループを指定するには、NIS+ グループ名にドメイン名を付けて使います。
主体名は完全指定されていることに注意してください。(principalname.domainname)
所有者
principalname
グループ
groupname.domainname
オブジェクトとテーブルエントリは異なる構文を使います。
オブジェクトは単純なオブジェクト名を使います。
テーブルエントリはインデックス付きの名前を使います。
オブジェクト
objectname
テーブルエントリ
[columnname=value ],tablename
この場合、角括弧 ([]) は構文の一部であり、オプション記号ではありません。
インデックス付きの名前では、列と値のペアを複数指定できます。その場合、操作はすべての列と値のペアに一致するエントリにだけ適用されます。列と値のペアが 増えると、検索条件が厳しくなります。
以下に例を示します。
表 9-11 オブジェクトとエントリの構文| 型 | 例 | 
|---|---|
| オブジェクト | hosts.org_dir.sales.doc.com. | 
| テーブルエントリ | `[uid=33555],passwd.org_dir.Eng.doc.com.' | 
| 2 つの値のテーブルエントリ | `[name=sales,gid=2],group.org_dir.doc.com.' | 
列はインデックス付きの名前の特殊な形式になっています。列の操作は nistbladm コマンドでだけ可能なため、詳細は、「nistbladm コマンド」を参照してください。