Java Desktop System Configuration Manager 發行版本 1.1 管理指南

第 3 章 使用指令行介面

本章描述 Java Desktop System Configuration Manager 指令行介面 (CLI),該介面可替代 Configuration Manager 圖形化使用者介面,用於建立、處理、匯出和匯入配置策略群組。

Configuration Manager CLI 概況

此 CLI 用於建立、處理、匯出、匯入和刪除策略群組。這些策略群組可以是策略群組系統訊息庫的一部分,也可以是實體策略群組。正如使用 Configuration Manager GUI 一樣,CLI 可讓使用者將策略群組系統訊息庫和實體策略群組中的策略群組指定/取消指定給實體;或從實體指定/取消指定策略群組系統訊息庫和實體策略群組中的策略群組。CLI 可讓系統訊息庫和實體策略群組從 XML 格式匯出為壓縮檔案,或從壓縮檔案匯入為 XML 格式。這樣,您便可以在匯入策略群組之前建立、編輯或刪除此類檔案中的策略設定。


注意 –

CLI 不提供下列 GUI 功能的對等功能:


使用 CLI

呼叫 CLI 指令

CLI 由指令 pgtool 組成,該指令以單行指令模式進行作業,每次執行一條指令。pgtool 包含一些子指令、選項和運算元,這些將在指令摘要中描述。選項可以使用完整關鍵字或縮寫關鍵字進行指定。在以下的指令描述中使用了完整關鍵字,但與之對應的捷徑位於表 3–2中。

CLI 需要的啟動資訊

需要啟動資訊,以便尋找和查詢儲存實體和策略群組的資料儲存區。需要的啟動資訊包括伺服器、連接埠號、基底辨別名稱 (DN) 和類型。這些資訊可以在指令行中指定,也可在啟動檔案中存取。

存取啟動資訊

啟動檔案的位置可以在指令行中指定。否則,系統將使用隨 CLI 一起安裝的啟動檔案。該檔案僅使用關鍵名稱安裝,應該由管理員來編輯以提供適當的啟動值。

CLI 還可讓您在指令行中指定啟動資訊。用於指定啟動詳細資訊的選項如下:

使用使用者名稱和密碼驗證

每次執行指令時均需要使用者名稱和密碼。

執行指令

每次使用指令均會建立和初始化與 policymgr API 的連線,然後在執行指令後結束該連線。如果指令結束並產生 errir,將不對配置策略套用任何變更。

表示實體

實體使用 LDAP DN 來表示,例如 uid=jmonroe,ou=People,o=apoc

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」將策略群組「UserPolicyGroup1」指定給了實體「cn=Role1,o=staff,o=apoc」。


建立

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 選項一起使用,因為實體策略群組具有不可變更的預設優先權。如果指定的優先權與此層上此範圍的現有策略群組的優先權相同,則指令將發生錯誤並結束。如果未指定優先權,則會指定一個。


範例 3–2 建立新策略群組

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

建立名為「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」。


匯出

將策略群組以壓縮檔案格式匯出到指定的目標。該策略群組可以來自策略群組該策略群組可以來自策略群組系統訊息庫,也可以是實體策略群組。

語法

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

--username=<name>:配置系統訊息庫使用之格式的管理員使用者名稱,例如「jmonroe」。

--name=<policy group name>:指定策略群組的名稱。此選項不與 --entity 選項一起使用,因為實體策略群組具有受限制的預設名稱。策略群組系統訊息庫中可能有兩個相同名稱的策略群組,一個具有使用者範圍,另一個具有主機範圍。如果未指定範圍,則預設為使用者範圍。

--scope=<user/host>:指定策略群組的範圍。此項可以是使用者或主機。如果未指定範圍,則預設為使用者。

--entity=<entity name>:儲存策略群組的實體。此選項不能與 --name 選項一起使用,因為實體策略群組具有受限制的預設名稱。如果未指定此選項,則策略群組將成為策略群組系統訊息庫的一部分。實體名稱以後端儲存裝置所使用的格式來指定,例如使用 LDAP 後端,實體將使用辨別名稱來指定。

<target>:用於儲存壓縮檔案的路徑和檔案名稱。如果未提供檔案名稱,則預設為 /tmp/<policy group name>.zip。如果目標不可寫入,則指令將發生錯誤並結束。


範例 3–4 匯出策略群組

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

將「HostPolicyGroup1」匯出到 HostPolicyGroup1.zip 中,該檔案建立在新目錄 /tmp/newdir 中。


匯入

從指定的來源匯入以壓縮檔案格式儲存的策略群組。策略群組可以匯入到策略群組系統訊息庫或實體。

語法

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 選項一起使用,因為實體策略群組具有受限制的預設名稱。同一位置中不能存在名稱和範圍均相同的兩個策略群組。如果未指定群組名稱,則預設為 .zip 檔案的名稱。如果策略群組系統訊息庫中已存在此名稱與範圍的策略群組,則該策略群組將被覆寫。

--scope=<user/host>:指定策略群組的範圍。此項可為使用者或主機。如果未指定範圍,則預設為使用者。

--entity=<entity name>:儲存策略群組的實體。如果未指定此選項,則策略群組將成為策略群組系統訊息庫的一部分。此選項不能與 -name 選項一起使用,因為實體策略群組具有受限制的預設名稱。實體名稱以後端儲存裝置所使用的格式來指定,例如使用 LDAP 後端,實體將使用辨別名稱來指定。

--priority=<priority integer> :指定策略群組系統訊息庫中策略群組優先權的整數 (>=1)。此選項不能與 --entity 選項一起使用,因為實體策略群組具有不可變更的預設優先權。如果指定的優先權與系統訊息庫中此範圍的現有策略群組的優先權相同,則指令將發生錯誤並結束。如果優先權未指定,則會指定一個。

<source>:用於儲存壓縮檔案的路徑和檔案名稱。


範例 3–5 匯入策略群組

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

將名為「NewHostPolicyGroup1」、範圍為「主機」、優先權為「7」的策略群組從 HostPolicyGroup1.zip 匯入。


清單

如果未指定選項,則列出策略群組系統訊息庫中的所有策略群組。如果指定了兩個後端儲存裝置,則列出該使用者後端儲存之策略群組系統訊息庫中的所有策略群組。根據指定的選項,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 後端的基底 DN。

--type=<type of back end>:預設為 LDAP。


範例 3–7 登入

% pgtool login --username=jmonroe [Enter the correct password when prompted]

建立了一個具有「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」。


指令摘要

表 3–1 指令

指令 

說明 

add

將策略群組系統訊息庫中的策略群組指定給實體。 

create

建立新的空策略群組。 

delete

刪除策略群組。 

export

將策略群組以壓縮檔案的格式匯出到指定的目標。 

import

從指定的來源匯入以壓縮檔案格式儲存的策略群組。 

list

列出策略群組系統訊息庫中的策略群組,或列出指定給某個實體的策略群組,或列出指定的策略群組具有的實體。 

login

在使用者主目錄中的檔案中儲存此資料儲存區後端的使用者名稱和密碼,則在將來對 pgtool 的呼叫中,可以使用此使用者名稱和密碼。 

modify

變更策略群組系統訊息庫中策略群組的優先權。 

remove

從實體取消指定策略群組。 

rename

重新命名策略群組系統訊息庫中的策略群組。 

表 3–2 選項

選項 

說明 

-b <base name>, --base=<base name>

指定後端儲存裝置的根項目。此基底項目的格式由使用的後端儲存裝置來確定。例如,具有根項目 o=apoc: --base o=apoc 的 LDAP 後端儲存裝置。

-e <entity>, --entity=<entity>

指定表示使用者、角色、組織、主機或網域的實體。該實體的項目格式由使用的後端儲存裝置來確定。例如,具有使用者「jmonroe」的 LDAP 後端儲存裝置:-e uid=jmonroe,ou=People,o=staff,o=apoc

-f <file>, --file=<file>

指定包含執行此指令所用之詳細啟動資訊的完全合格的檔案。例如:-f /tmp/policymgr.cfg

-h <hostname>, --hostname=<hostname>

指定後端儲存裝置之主機的名稱。例如:--host=server1.sun.com

-i <priority>, --priority=<priority>

指定用於指示策略群組優先權的正整數。例如:-i 12

-m <name>, --name=<name>

指定策略群組的名稱。例如:--name=UserPolicyGroup1

-p <port>, --port=<port>

指定後端儲存裝置的連接埠號。例如:-p 399

-s <scope>, --scope=<scope>

指定策略群組的範圍。範圍可以是使用者或主機,預設為使用者。例如:--scope=host

-t <type>, --type=<type>

指定後端儲存裝置的類型。此項預設為 LDAP。例如:-t LDAP

-u <username>, --username=<username>

指定後端儲存裝置的管理員的使用者名稱。然後,系統會提示使用者輸入密碼。如果未使用此選項,且使用者未使用 pgtool login 子指令,則系統將提示使用者輸入使用者名稱和密碼。例如:--username=jmonroe

-?, --help

顯示此說明並結束。 

-V, --version

顯示版本並結束。