Java Desktop System Configuration Manager Release 1.1 管理ガイド

CLI コマンド

この節では、Configuration Manager CLI の機能について説明します。

CLI ヘルプのアクセス

使用できるすべての CLI コマンドの一覧を表示するには、pgtool --help と入力します。

CLI のバージョン情報へのアクセス

バージョン情報を表示するには、pgtool --version と入力します。

追加

ポリシーグループリポジトリのポリシーグループをエンティティに割り当てます。

構文

add [--username=<name>] [--scope=<user/host>] <name> <entity>

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: "jmonroe")。

--scope=<user/host> : ポリシーグループのスコープ (ユーザーまたはホスト) を指定します。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。

<name> : エンティティに割り当てられるポリシーグループの名前を指定します。

<entity> : このエンティティ名は、ストレージバックエンドで使用されている書式で指定します (たとえば、LDAP バックエンドの場合、一意の名前で指定)。


例 3–1 エンティティへのポリシーグループの追加

% pgtool add --username=jmonroe UserPolicyGroup1 cn Role1,o=staff,o=apoc

ユーザー “jmonroe” が、エンティティ “cn=Role1,o=staff,o=apoc” に対し、ポリシーグループ “UserPolicyGroup1” を割り当てます。


作成

create コマンドを実行すると、新しい空のポリシーグループが作成されます。

構文

create [--username=<name>] [--name=<policy group name>] [--scope=<user/host>] [--entity=<entity name>] [--priority=<priority integer>]

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: “jmonroe”)。

--name=<policy group name> : このコマンドは、ポリシーグループの名前を指定します。この名前とスコープを持つポリシーグループがこのレベルにすでに存在する場合、コマンドはエラーを表示して終了します。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --entity オプションと併用することはできません。

--scope=<user/host> : ポリシーグループのスコープ (ユーザーまたはホスト) を指定します。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。

--entity=<entity name> : ポリシーグループが作成されるエンティティ。このオプションを指定しないと、ポリシーグループはポリシーグループリポジトリに含められます。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --name オプションと併用することはできません。

--priority=<priority integer>: ポリシーグループの優先度を指定する整数 (1 以上)。エンティティポリシーグループには変更できないデフォルトの優先度が割り当てられているため、このオプションは --entity オプションと併用することはできません。指定された優先度がこの層におけるこのスコープの既存のポリシーグループの優先度と同じである場合、コマンドはエラーを表示して終了します。優先度を指定しないと、1 が割り当てられます。


例 3–2 新しいポリシーグループの作成

% pgtool create --username=jmonroe --scope=host --name=NewHostGroup1

スコープが「host」である新しいポリシーグループ「NewHostGroup1」を作成します。


削除

ポリシーグループを削除します。

構文

delete [--username=<name>] [--name=<policy group name>] [--scope=<user/host>] [--entity=<entity name>]

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: "jmonroe")。

--name=<policy group name> : 削除するポリシーグループの名前を指定します。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --entity オプションと併用することはできません。ポリシーグループが存在しないか、一意のグループとして識別できない場合は、コマンドはエラーを表示して終了します。

--scope=<user/host> : ポリシーグループのスコープ (ユーザーまたはホスト) を指定します。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。

--entity=<entity name> : ポリシーグループが保存されるエンティティ。このオプションを指定しないと、ポリシーグループはポリシーグループリポジトリに含められます。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --name オプションと併用することはできません。


例 3–3 ポリシーグループの削除

% pgtool delete --username=jmonroe --scope=host --name=renamedNewHostGroup1

“renamedNewHostGroup1” ポリシーグループを削除します。


エクスポート

zip ファイル形式のポリシーグループを、特定の場所にエクスポートします。このポリシーグループはポリシーグループリポジトリの一部であるか、あるいはエンティティポリシーグループです。

構文

export [--username=<name>] [--name=<policy group name>] [--scope=<user/host>] [--entity=<entity name>] <target>

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: “jmonroe”)。

--name=<policy group name> : ポリシーグループの名前を指定します。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --entity オプションと併用することはできません。ポリシーグループリポジトリには、同じ名前で 2 つの ポリシーグループ、ユーザースコープを持つポリシーグループとホストスコープを持つポリシーグループが存在する可能性があります。スコープを指定しないと、デフォルトでユーザースコープが使用されます。

--scope=<user/host> : ポリシーグループのスコープを指定します。ユーザーまたはホストを指定できます。スコープを指定しないと、デフォルトでユーザーが使用されます。

--entity=<entity name> : ポリシーグループが保存されるエンティティ。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --name オプションと併用することはできません。このオプションを指定しないと、ポリシーグループはポリシーグループリポジトリに含められます。このエンティティ名は、ストレージバックエンドで使用されている書式で指定します (たとえば、LDAP バックエンドの場合、一意の名前で指定)。

<target> : zip ファイルを保存するパスとファイル名。ファイル名を指定しないと、デフォルトで /tmp/<policy group name>.zip が使用されます。宛先が書き込み可能でない場合、コマンドはエラーを表示して終了します。


例 3–4 ポリシーグループのエクスポート

% pgtool export --scope=host --name=HostPolicyGroup1 --username=jmonroe /tmp/newdir

新しいディレクトリ /tmp/newdir に作成された HostPolicyGroup1.zip に “HostPolicyGroup1” をエクスポートします。


インポート

特定のソースから、zip ファイル形式で保存されているポリシーグループをインポートします。ポリシーグループは、ポリシーグループリポジトリまたはエンティティに対してインポートできます。

構文

import [--username=<name>] [--name=<policy group name>] [--scope=<user/host>] [--entity=<entity name>] [--priority=<priority integer>] <source>

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: “jmonroe”)。

--name=<policy group name> : このコマンドは、ポリシーグループの名前を指定します。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを --entity オプションと併用することはできません。同一の名前とスコープを持つ 2 つのポリシーグループを同じ場所に作成することはできません。ポリシーグループ名を指定しないと、デフォルトで.zip ファイルの名前が使用されます。この名前とスコープを持つポリシーグループがすでにポリシーグループリポジトリ内に存在する場合、そのポリシーグループは上書きされます。

--scope=<user/host> : ポリシーグループのスコープを指定します。ユーザーまたはホストを指定できます。スコープを指定しないと、デフォルトでユーザーが使用されます。

--entity=<entity name> : ポリシーグループが保存されるエンティティ。このオプションを指定しないと、ポリシーグループはポリシーグループリポジトリに含められます。エンティティポリシーグループは制限されたデフォルト名を持つため、このオプションを -name オプションと併用することはできません。このエンティティ名は、ストレージバックエンドで使用されている書式で指定します (たとえば、LDAP バックエンドの場合、一意の名前で指定)。

--priority=<priority integer> : ポリシーグループリポジトリにおける優先度を指定する整数 (1 以上)。エンティティポリシーグループには変更できないデフォルトの優先度が割り当てられているため、このオプションは --entity オプションと併用することはできません。指定された優先度がリポジトリにおけるこのスコープの既存のポリシーグループの優先度と同じである場合、コマンドはエラーを表示して終了します。優先度を指定しないと、1 が割り当てられます。

<source> : zip ファイルを保存するパスとファイル名。


例 3–5 ポリシーグループのインポート

% pgtool import --scope=host --name=NewHostPolicyGroup1 --username=jmonroe --priority=7 /tmp/HostPolicyGroup1.zip

HostPolicyGroup1.zip から、名前が “NewHostPolicyGroup1”、スコープが “host”、優先度が “7” であるポリシーグループをインポートします。


リスト

オプションをまったく指定しないと、ポリシーグループリポジトリ内のすべてのポリシーグループが表示されます。ストレージバックエンドを 2 つ指定すると、ユーザーバックエンドストレージのポリシーグループリポジトリ内のすべてのポリシーグループが一覧表示されます。指定されたオプションに基づいて、list は特定のエンティティ、または特定のポリシーグループを使用するエンティティに割り当てられているすべてのポリシーグループを一覧表示できます。ポリシーグループが一覧表示される際には、名前、スコープ、優先度、エンティティ (該当する場合) なども表示されます。エンティティは、それらを区別する一意の名前で示されます。

構文

list [--username=<name>] [--scope=<user/host>] [--entity=<entity name>][--name =<policy group name>]

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: “jmonroe”)。

--scope=<user/host> : このオプションだけを指定すると、ポリシーグループリポジトリ内に存在する指定されたスコープのすべてのポリシーグループが一覧表示されます。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。-entity オプションと併用すると、エンティティに割り当てられている、このスコープのすべてのポリシーグループが一覧表示されます。-name オプションと併用すると、指定したスコープの指定したポリシーグループを使用するすべてのエンティティが一覧表示されます。

--entity=<entity name> : 特定のエンティティに割り当てられているポリシーグループを一覧表示します。

--name=<policy group name> : 指定されたポリシーグループを使用するエンティティを一覧表示します。


例 3–6 リポジトリ内のポリシーグループの一覧表示

% pgtool list --username=jmonroe

管理者 “jmonroe” のグローバルポリシーグループを一覧表示します。

% pgtool list --username=jmonroe --name=UserPolicyGroup1

ポリシーグループ “UserPolicyGroup1” を使用しているエンティティを一覧表示します。


ログイン

管理者のホームディレクトリ内のファイルに、データストアバックエンドのユーザー名とパスワードを保存します。このユーザー名とパスワードは、将来 pgtool を呼び出すときに使用できます。

この資格情報は、管理者のホームディレクトリの .apocpass というファイルに保存されます。このファイルがすでに存在し、このファイルに正しいアクセス権が設定されていない場合、コマンドはエラーを表示して終了します。ユーザー名を入力すると、パスワードの入力を求めるメッセージが表示されます。ユーザー名が入っていないと、ユーザー名とパスワードの入力を求めるメッセージが表示されます。ユーザー名とパスワードの認証は、データストアに対する匿名アクセスを使用して行われます。匿名アクセスがサポートされていない場合は、承認済みのユーザー名とパスワードの入力を求めるメッセージが表示されます。承認済みのユーザー名による認証が失敗する場合、コマンドはエラーを表示して終了します。認証が完了すると、ユーザー名とパスワードのペアが管理者の .apocpass ファイルに保存されます。パスワードは、ホスト / ポート / ベースブートストラップ情報とユーザー名の組み合わせから成る鍵を使用して保存されます。ブートストラップファイルは、オプション引数として指定できます。あるいは、上記のほかのオプションを使用してブートストラップ情報を指定することもできます。どちらの方法も使用されない場合は、pgtool でインストールされているデフォルトのブートストラップファイルからブートストラップ情報が取得されます。ブートストラップ情報が利用できないか、資格情報ファイルが作成できない場合は、コマンドはエラーを表示して終了します。資格情報ファイルが正常に作成される場合は、このストレージバックエンドを使用する後続の pgtool コマンドでユーザー名とパスワードを指定する必要はありません。資格情報ファイルに保存されているユーザー名とパスワードの詳細が使用されます。

構文

login [--username=<name>] [--file=<bootsrap file>] [--hostname=<hostname>] [--port=<portnumber>] [--base=<base name>] [--type=<type of back end>]

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: "jmonroe")。

--file=<bootstrap file> : ブートストラップファイルの完全修飾パス。

--hostname=<hostname> : 必要なストレージバックエンドのホストの名前。これは、ブートストラップファイルによって提供される対応する情報の代わりに使用されます。

--port=<port number> : このストレージバックエンドによって使用されるポート番号。

--base=<base name> : このストレージバックエンドのベース。たとえば、LDAP バックエンドの場合、baseDN。

--type=<type of back end> : デフォルトは LDAP。


例 3–7 ログイン

% pgtool login --username=jmonroe [メッセージが表示されたら正しいパスワードを入力]

“jmonroe” と “password” のエントリが入った ~/.apocpass というファイルが作成され、アクセス権 600 が設定されます。


変更

ポリシーグループリポジトリ内のポリシーグループの優先度を変更します。

構文

modify [--username=<name>] [--scope=<user/host>] <name> <priority>

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: "jmonroe")。

--scope=<user/host> : ポリシーグループのスコープ (ユーザーまたはホスト) を指定します。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。

<name> : ポリシーグループの名前を指定します。

<priority> : ポリシーグループの優先度を指定する整数 (1 以上)。指定された優先度がポリシーグループリポジトリにおけるこのスコープの既存のポリシーグループの優先度と同じである場合、コマンドは失敗します。


例 3–8 ポリシーグループの優先度の変更

% pgtool modify --username=jmonroe UserPolicyGroup1 15

“UserPolicyGroup1” の優先度を 15 に変更します。


削除

エンティティからポリシーグループを削除します。

構文

remove [--username=<name>] [--scope=<user/host>] <name> <entity>

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: "jmonroe")。

--scope=<user/host> : ポリシーグループのスコープ (ユーザーまたはホスト) を指定します。このオプションを指定しないと、デフォルトでユーザーが使用されます。

<name> : エンティティに割り当てられている、ポリシーグループリポジトリ内のポリシーグループの名前を指定します。

<entity>: エンティティの名前。


例 3–9 エンティティからポリシーグループを削除する

% pgtool remove --username=jmonroe UserPolicyGroup1 cn=Role1,o=staff,o=apoc

ユーザー “jmonroe” が、エンティティ “cn=Role1,o=staff,o=apoc” からポリシーグループ “UserPolicyGroup1” を削除します。


名前の変更

ポリシーグループリポジトリ内のポリシーグループの名前を変更します。

構文

rename [--username=<name>] [--scope=<user/host>] <name> <newname>

--username=<name> : 構成リポジトリで使用されている書式で管理者のユーザー名を指定します (例: "jmonroe")。

--scope=<user/host> : 既存のポリシーグループのスコープ (ユーザーまたはホスト) を指定します。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。

<name> : ポリシーグループリポジトリにおけるポリシーグループの現在の名前を指定します。

<newname> : ポリシーグループの新しい名前。この名前とスコープを持つポリシーグループがポリシーグループリポジトリ内にすでに存在する場合、コマンドはエラーを表示して終了します。


例 3–10 ポリシーグループの名前変更

% pgtool rename --username=jmonroe NewUserGroup2 renamedNewUserGroup2

“NewUserGroup2” を “renamedNewUserGroup2” に変更します。