Sun Desktop Manager 1.0 管理ガイド

第 3 章 コマンド行インタフェースの使用

この章では、Sun Desktop Manager のコマンド行インタフェースに関する情報を記載しています。

Desktop Manager CLI の概要

CLI は、構成プロファイルを作成、操作、エクスポート、インポート、および削除するために使用します。Desktop Manager の GUI と同様に、CLI では次の操作が可能です。


注 –

CLI には、次に示す GUI 機能に相当する機能がありません。


CLI による作業

CLI コマンドの呼び出し

CLI は、一度に 1 つのコマンドを実行する単一行コマンドモードで動作するコマンド pgtool で構成されています。pgtool には、「コマンドの要約」で説明されている多数のサブコマンド、オプション、オペランドがあります。オプションは、フルキーワードまたは短いキーワード (ショートカット) を使用して指定できます。以降のコマンドの説明では、フルキーワードを使用します。対応するショートカットは、表 3–2 を参照してください。

CLI で必要となるブートストラップ情報

要素とプロファイルが含まれるデータストアを見つけ、照会を行うには、ブートストラップ情報が必要です。必要なブートストラップ情報は、サーバー、ポート番号、ベース識別名 (DN)、および管理者のユーザー名です。この情報はコマンド行で指定することも、ブートストラップファイルで指定することもできます。

ブートストラップファイル

ブートストラップ情報は、プロパティーファイルから読み取ることができます。このファイルの場所は、コマンド行で --file オプションによって指定できます。

--file=<bootstrap file> : ブートストラップファイルの完全修飾パス。デフォルトのファイルは $HOME/pgtool.properties です。

例: --file=/var/opt/apoc/cli.properties

ファイルの書式については、『Sun Desktop Manager 1.0 インストールガイド』の付録 A「構成パラメータ」の付録 A「構成パラメータ」を参照してください。

ブートストラップのオプション

ブートストラップは、コマンド行で --url オプションおよび --username オプションを使用して指定できます。

--url=<url> : データストアを識別する URL。URL の書式は ldap://<hostname>:<port>/<base name> です。<hostname> はサーバー名 (デフォルトは localhost)、<port> はサーバー上のポート名 (デフォルトは 389)、および <base name> はベースエントリの識別名です。

例: --url=ldap://server1.sun.com:399/o=apoc.

--username=<username> : ストレージバックエンドで使用される書式による管理者のユーザー名。これによって、管理者はパスワードの入力を求められます。このオプションを指定しない場合に、管理者が pgtool login サブコマンドを使用していないときは、ユーザー名とパスワードの入力を求めるメッセージが表示されます。

例: --username=“jmonroe”.

ユーザー名とパスワードによる認証

コマンドを実行するたびにユーザー名とパスワードが必要です。

ログインコマンドによる認証

CLI には、管理者のホームディレクトリの資格情報ファイルにユーザー名とパスワードのペアを保存できるログインコマンドがあります。そのファイルの名前は .apocpass です。.apocpass ファイルへのアクセスは制限されています。

認証が成功すると、ユーザー名とパスワードのペアのエントリが .apocpass ファイルに追加されます。このペアに対するキーがサーバー / ポート / ベース DN およびユーザー名で構成されるので、ユーザー名とパスワードのペアがその他のバックエンドに対して同じファイルに格納できます。

ログインコマンドが正常に完了すると、ユーザー名またはパスワードを指定することなくほかの CLI コマンドを実行できます。

login コマンドの使用法の詳細は、「ログイン」を参照してください。

その他のコマンドの認証

ほかのコマンドについては、CLI はまず現在のユーザー用の .apocpass ファイルが存在するかどうかをチェックします。

このファイルが存在しないと、ユーザー名とパスワードの入力を求めるメッセージが表示されます。このユーザー名とパスワードの認証が正常に完了すると、コマンドが実行されます。

資格情報ファイルが存在し、かつコマンド行にユーザー名が指定された場合、CLI はホスト、ポート、ベース DN、およびユーザー名のエントリを検索します。エントリが存在すると、保存されているユーザー DN とパスワードが使用されてコマンドが実行されます。エントリが存在しないと、パスワードの入力を求めるメッセージが表示されます。

コマンド行でユーザー名が指定されないと、.apocpass ファイルが検索され、ホスト / ポートとベース DN のペアを使用した鍵の確認が行われます。このペアが一意のエントリとして存在する場合、保存されているユーザー DN とパスワードが使用されてコマンドが実行されます。エントリが一意でない場合、ユーザー名の入力を求めるメッセージが表示されます。これがエントリと一致すると、保存されているユーザー DN とパスワードが使用されてコマンドが実行されます。これが一致しないと、パスワードの入力を求めるメッセージが表示されます。

パスワードの入力を求めるメッセージがユーザーに表示される場合は、.apocpass ファイル内の、このホスト / ポートとベース DN のペアのエントリが使用されてユーザー名とパスワードの認証が行われます。そのようなエントリが存在しない場合には、匿名アクセスが使用されて認証が行われます。

コマンドの実行

コマンドを使用するたびにデータストアに対する接続と初期化が行われ、コマンド実行が完了したところで終了します。error を生成してコマンドが終了しても、構成プロファイルに対する変更は加えられていません。

要素の表現

要素は、LDAP の完全な識別名 (DN) を使用して表されます。

例: uid=jmonroe,ou=People,o=apoc.

CLI コマンド

このセクションでは、Desktop Manager の CLI 機能のサブコマンドについて説明します。


注 –

下位互換のために、CLI では --entity オプションを使用して Desktop Manager ユーザーインタフェースの「要素」を指定します。両方の用語の意味は同じです。--element オプションはありません。


ヘルプ

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

バージョン情報

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

追加

プロファイルを要素に割り当てます。

構文

add [--scope=<user|host>] [--entity=<entity>] <profile name> <target entity>

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

--entity=<entity> : プロファイルが配置されている要素。このオプションを指定しないと、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

<profile name> : 要素に割り当てられるプロファイルの名前。指定した名前とスコープを持つプロファイルがこの階層にない場合、または複数ある場合、コマンドはエラーを表示して終了します。

<target entity> : プロファイルが割り当てられる要素。


例 3–1 要素へのプロファイルの追加

% pgtool add UserProfile1 cn=Role1,o=staff,o=apoc

ルート組織に配置されているプロファイル「UserProfile1」が要素「cn=Role1,o=staff,o=apoc」に割り当てられます。


作成

新しい空のプロファイルを作成します。

構文

create [--name=<profile name>] [--scope=<user|host>] [--entity=<entity>] [--priority=<priority>]

--name=<profile name> : 作成するプロファイルの名前。この名前とスコープを持つプロファイルがこの階層にすでに存在する場合、コマンドはエラーを表示して終了します。指定しない場合、プロファイル名はデフォルトで「NewProfile」、「NewProfile2」、「NewProfile3」 ... の順に指定されます。

--scope=<user|host> : プロファイルのスコープ。ユーザーまたはホストを指定できます。指定しない場合、デフォルトでユーザースコープが使用されます。

--entity=<entity> : プロファイルが作成される要素。指定しない場合、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

--priority=<priority>: プロファイルの優先順位を指定する厳密な意味での正の整数。指定した優先順位がこの階層にある同じスコープの既存のプロファイルと同じである場合、priority オプションは無視されます。指定しない場合、作成されるプロファイルはこの階層で最高の優先順位になります。


例 3–2 新しいプロファイルの作成

% pgtool create --scope=host --name=NewHostProfile1

ドメインルートに、スコープが「host」の「NewHostProfile1」という名前の新しいプロファイルが作成されます。


削除

プロファイルを削除します。

構文

delete --name=<profile name> [--scope=<user|host>] [--entity=<entity>]

--name=<profile name> : 削除するプロファイルの名前。このオプションは必須です。指定した名前とスコープを持つプロファイルがこの階層にない場合、または複数ある場合、コマンドはエラーを表示して終了します。

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

--entity=<entity> : プロファイルが配置されている要素。指定しない場合、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。


例 3–3 プロファイルの削除

% pgtool delete --scope=host --name=renamedNewHostProfile1

ルートドメインにある「renamedNewHostProfile1」プロファイルが削除されます。


エクスポート

プロファイルに含まれているプロファイルを、指定したターゲットに zip ファイル形式を使用してエクスポートします。

構文

export --name=<profile name> [--scope=<user|host>] [--entity=<entity>] <target>

--name=<profile name> : エクスポートするプロファイルの名前。このオプションは必須です。指定した名前とスコープのプロファイルがこの階層にない場合、または複数ある場合、コマンドはエラーを表示して終了します。

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

--entity=<entity> : プロファイルが配置されている要素。指定しない場合、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

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


例 3–4 プロファイルのエクスポート

% pgtool export --scope=host --name=HostProfile1 /tmp/newdir

ルートドメインにある「HostProfile1」が、新しいディレクトリ /tmp/newdir に作成される HostProfile1.zip にエクスポートされます。


インポート

特定のソースから、zip ファイル形式で保存されているプロファイルをインポートします。ソースには、プロファイルにインポートされるプロファイルが含まれています。

構文

import [--name=<profile name>] [--scope=<user|host>] [--entity=<entity>] [--priority=<priority>] <source>

--name=<profile name> : インポートするプロファイルの名前。指定しない場合、デフォルトで .zip ソースファイルの名前が使用されます。同じ名前とスコープのプロファイルがこの階層にすでに存在する場合は、上書きされます。

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

--entity=<entity> : プロファイルが配置されている要素。このオプションを指定しないと、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

--priority=<priority>: プロファイルの優先順位を指定する厳密な意味での正の整数。指定した優先順位がこの階層にある同じスコープの既存のプロファイルと同じである場合、このオプションは無視されます。指定しない場合、インポートされるプロファイルはこの階層で最高の優先順位になります。

<source> : インポートされるプロファイルを含む zip ファイルのフルパス。


例 3–5 プロファイルのインポート

% pgtool import --scope=host --name=NewHostProfile1 --priority=7 /tmp/HostProfile1.zip

ルートドメインにある名前「NewHostProfile1」、スコープ「host」、優先順位「7」のプロファイルが HostProfile1.zip からインポートされます。


リスト

すべてのプロファイル、または要素およびプロファイルの割り当てを一覧表示します。

--name オプションも --entity オプションも指定しない場合、--scope オプションに応じて、すべてのユーザープロファイルまたはすべてのホストプロファイルが表示されます。

--name オプションを指定すると、プロファイルに割り当てられているすべての要素が表示されます。

--entity オプションを指定すると、要素に割り当てられているすべてのプロファイルが表示されます。

構文

list [--scope=<user|host>] [--entity=<entity>] [--name =<profile name>]

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

--entity=<entity> : --name オプションを指定する場合は、プロファイルが配置されている要素。それ以外の場合は、表示されるプロファイルが割り当てられている要素。前者の場合にこのオプションを指定しないと、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

--name=<profile name> : 割り当てられている要素が表示されるプロファイルの名前。指定した名前とスコープを持つプロファイルがこの階層にない場合、または複数ある場合、コマンドはエラーを表示して終了します。


例 3–6 割り当ての一覧表示

% pgtool list

ルート組織に割り当てられているプロファイルが表示されます。

% pgtool list --scope=host --name=HostProfile1

ルートドメインにあるプロファイル「HostProfile1」に割り当てられている要素が表示されます。


ログイン

このデータストアに対する認証が成功したあとに、データストアバックエンドのユーザ名とパスワードを保存します。このユーザー名とパスワードは、将来 pgtool を呼び出すときに使用できます。

この資格情報は、管理者のホームディレクトリの .apocpass というファイルに保存されます。このファイルがすでに存在し、このファイルに正しいアクセス権が設定されていない場合、コマンドはエラーを表示して終了します。

ユーザー名を指定すると、パスワードの入力を求めるメッセージが表示されます。ユーザー名を指定していない場合、ユーザー名とパスワードの入力を求めるメッセージが表示されます。ユーザー名とパスワードの認証は、データストアに対する匿名アクセスを使用して行われます。匿名アクセスがサポートされていない場合は、承認済みのユーザー名とパスワードの入力を求めるメッセージが表示されます。承認済みのユーザー名による認証が失敗する場合、コマンドはエラーを表示して終了します。

認証が行われると、ホスト / ポート / ベース DN とユーザー名の組み合わせで構成されるキーを使用して、ユーザー名とパスワードのペアのエントリが管理者の .apocpass ファイルに保存されます。それによって、ユーザー名とパスワードのペアがほかのバックエンドに対して同じファイルに保存されます。

ブートストラップ情報をコマンドで指定するには、その情報があるファイルを示す --file オプションを使用するか、その情報を直接指定する --url オプションを使用します。ブートストラップの詳細は、「CLI で必要となるブートストラップ情報」を参照してください。

ブートストラップ情報が利用できないか、資格情報ファイルが作成できない場合は、コマンドはエラーを表示して終了します。

資格情報ファイルが正常に作成される場合は、このストレージバックエンドを使用する後続の pgtool コマンドでユーザー名とパスワードを指定する必要はありません。資格情報ファイルに保存されているユーザー名とパスワードの詳細が使用されます。

構文

login [--username=<username>] [--file=<bootstrap file>] [--url=<url>]

--username=<username> : ストレージバックエンドで使用されている書式で管理者のユーザー名を指定します (例: “jmonroe”)。

--file=<bootstrap file> : ブートストラップファイルの完全修飾パス。デフォルトのファイルは $HOME/pgtool.properties です。このオプションは --url オプションとともに使用することはできません。

--url=<url> : データストアを識別する URL。URL の書式は ldap://<hostname>:<port>/<base name> です。<hostname> はサーバー名 (デフォルトは localhost)、<port> はサーバー上のポート名 (デフォルトは 389)、および <base name> はベースエントリの識別名です。


例 3–7 ログイン

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

「jmonroe」と「password」のエントリとともに ~/.apocpass という名前のファイルが作成されます。ファイルのアクセス権は 600 です。接続先のバックエンドに関する情報は、デフォルトのブートストラップファイル ~/pgtool.properties にあります。


変更

プロファイルの優先順位を変更します。

構文

modify [--scope=<user|host>] [--entity=<entity>] <profile name> <priority>

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

--entity=<entity> : プロファイルが配置されている要素。このオプションを指定しないと、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

<profile name> : 優先順位を変更するプロファイルの名前。指定した名前とスコープを持つプロファイルがこの階層にない場合、または複数ある場合、コマンドはエラーを表示して終了します。

<priority> : プロファイルの優先順位を指定する厳密な意味での正の整数。指定された優先順位がこの階層における同じスコープの既存のプロファイルと同じである場合、コマンドはエラーを表示して終了します。


例 3–8 プロファイルの優先順位の変更

% pgtool modify UserProfile1 15

ルート組織にある「UserProfile1」の優先順位が 15 に変更されます。


削除

要素からプロファイルの割り当てを解除します。

構文

remove [--scope=<user|host>] [--entity=<entity>] <profile name> <target entity>

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

--entity=<entity> : プロファイルが配置されている要素。このオプションを指定しないと、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

<profile name> : ターゲットの要素から割り当て解除するプロファイルの名前。

<target entity>: プロファイルの割り当てを解除する要素。


例 3–9 要素からのプロファイルの割り当て解除

% pgtool remove UserProfile1 cn=Role1,o=staff,o=apoc

ルート組織に配置されているプロファイル「UserProfile1」が要素「cn=Role1,o=staff,o=apoc」から割り当て解除されます。


名前の変更

プロファイルの名前を変更します。

構文

rename [--scope=<user|host>] [--entity=<entity>] <profile name> <newname>

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

--entity=<entity> : プロファイルが配置されている要素。このオプションを指定しないと、--scope オプションに応じて、デフォルトでルート組織またはドメイン要素が使用されます。

<profile name> : 名前を変更するプロファイルの現在の名前。

<newname> : プロファイルの新しい名前。この名前とスコープのプロファイルが同じ階層にすでに存在する場合、コマンドはエラーを表示して終了します。


例 3–10 プロファイルの名前の変更

% pgtool rename NewUserProfile2 renamedNewUserProfile2

ルート組織にある「NewUserProfile2」の名前が「renamedNewUserProfile2」に変更されます。


コマンドの要約

表 3–1 コマンド

コマンド 

説明 

add

プロファイルを要素に割り当てます。 

create

新しい空のプロファイルを作成します。 

delete

プロファイルを削除します。 

export

プロファイルに含まれているプロファイルを、指定したターゲットに zip ファイル形式を使用してエクスポートします。 

import

特定のソースから、zip ファイル形式で保存されているプロファイルをインポートします。ソースには、プロファイルにインポートされるプロファイルが含まれています。 

list

すべてのプロファイル、要素に割り当てられているプロファイル、またはプロファイルが割り当てられている要素を一覧表示します。 

login

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

modify

プロファイルの優先順位を変更します。 

remove

要素からプロファイルを割り当て解除します。 

rename

プロファイルの名前を変更します。 

表 3–2 オプション

オプション 

説明 

-b <base name>、--base=<base name>廃止予定

ストレージバックエンドのルートエントリ。このベースエントリの書式は、使用されているストレージバックエンドによって決まります。 次に、ルートエントリ o=apoc の LDAP ストレージバックエンドの場合の例を示します。--base o=apoc

廃止予定: 代わりに --url オプションを使用します

-e <entity>、--entity=<entity>

ユーザー、役割、組織、ホスト、またはドメイン要素を表します。要素のエントリ書式は、使用されているストレージバックエンドによって決まります。 次に、ユーザー「jmonroe」の LDAP ストレージバックエンドの場合の例を示します。-e uid=jmonroe,ou=People,o=Staff,o=apoc

-f <file>、--file=<file>

コマンドの実行に使用されるブートストラップ情報の詳細が含まれるファイルの完全修飾パス。次に例を示します。-f /var/opt/apoc/cli.properties

-h <hostname>、--hostname=<hostname>廃止予定

ストレージバックエンドのホストの名前。次に例を示します。--host=server1.sun.com

廃止予定: 代わりに --url オプションを使用します

-i <priority>、--priority=<priority>

プロファイルの優先順位を指定する厳密な意味での正の整数。次に例を示します。-i 12

-l <url>、--url=<url>

データストアを識別する URL。URL の書式は ldap://<hostname>:<port>/<base name> です。<hostname> はサーバー名 (デフォルトは localhost)、<port> はサーバー上のポート名 (デフォルトは 389)、および <base name> はベースエントリの識別名です。次に例を示します。--url=ldap://server1.sun.com:399/o=apoc

-m <name>、--name=<name>

プロファイルの名前。次に例を示します。--name=UserProfile1

-p <port>、--port=<port>廃止予定

ストレージバックエンドのポート番号。次に例を示します。-p 399

廃止予定: 代わりに --url オプションを使用します

-s <scope>、--scope=<scope>

プロファイルのスコープ。ユーザーまたはホストを指定できます。このオプションを指定しないと、デフォルトでユーザースコープが使用されます。次に例を示します。--scope=host

-t <type>、--type=<type>廃止予定

ストレージバックエンドのタイプ。デフォルトは LDAP です。次に例を示します。-t LDAP

廃止予定: 代わりに --url オプションを使用します

-u <username>、--username=<username>

ストレージバックエンドで使用される書式による管理者のユーザー名。この指定が終わると、管理者にパスワードの入力を求めるメッセージが表示されます。このオプションを指定しない場合で、管理者が pgtool login サブコマンドを使用していないときは、管理者にユーザー名とパスワードの入力を求めるメッセージが表示されます。次に例を示します。--username=jmonroe

-?--help

ヘルプ情報を表示します。 

-V--version

バージョン情報を表示します。