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); ...