Solaris_UserAcl クラスは、Solaris_Acl 基底クラスを拡張したクラスです。Solaris_UserAcl クラスは、 Solaris_Acl 基底クラスから文字列プロパティ capability をデフォルト値 r (読み取り専用) で継承します。capability プロパティには、次の表に示すアクセス特権の値を設定できます。
|
アクセス権 |
説明 |
|---|---|
|
r |
読み取り |
|
rw |
読み取りおよび書き込み |
|
w |
書き込み |
|
なし |
アクセス権なし |
次の表に、Solaris_UserAcl クラスが定義するキープロパティを示します。名前空間内には、名前空間とユーザー名 ACL のペアのインスタンスを 1 つだけ入れることができます。
|
プロパティ |
データ型 |
目的 |
|---|---|---|
|
nspace |
string |
ACL を適用する名前空間を示す |
|
username |
string |
ACL を適用するユーザーを示す |
Solaris_UserAcl クラスのインスタンスを作成します。
...
/* ローカルホスト上に root\security (名前空間の名前)
で初期化した名前空間オブジェクトを作成する */
CIMNameSpace cns = new CIMNameSpace("", "root\security");
// root ユーザーとして root\security 名前空間に接続する
cc = new CIMClient(cns, user, user_passwd);
// Solaris_UserAcl クラスを取得する
cimclass = cc.getClass(new CIMObjectPath("Solaris_UserAcl");
// Solaris_UserAcl の新しいインスタンスを作成する
class ci = cimclass.newInstance();
...
capability プロパティを目的のアクセス権に設定します。
...
/* root\molly 名前空間内のオブジェクトに対するユーザー Guest の
アクセス権 (capability) を読み取りおよび書き込みに変更する */
ci.setProperty("capability", new CIMValue(new String("rw"));
ci.setProperty("nspace", new CIMValue(new String("root\molly"));
ci.setProperty("username", new CIMValue(new String("guest"));
...
... // 更新されたインスタンスを CIM オブジェクトマネージャに渡す cc.createInstance(new CIMObjectPath(), ci); ...