本節說明 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>:指定設定檔的元素。
% 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 選項。若未指定,則建立的設定檔在此層中將有最高的優先權。
% pgtool create --scope=host --name=NewHostProfile1
在網域根目錄中建立名為「NewHostProfile1」的新設定檔,其範圍為「主機」。
刪除設定檔。
語法
delete --name=<profile name> [--scope=<user|host>] [--entity=<entity>]
--name=<profile name>:要刪除的設定檔名稱。此為必要選項。若在該層中沒有設定檔,或有多個設定檔具有此名稱和此範圍,則指令會發生錯誤並結束。
--scope=<user|host>:設定檔的範圍,可以是使用者或主機。若未指定,則預設為使用者範圍。
--entity=<entity>:設定檔所在的元素。若未指定,則預設為根組織或網域元素,視 --scope 選項而定。
% pgtool delete --scope=host --name=renamedNewHostProfile1
刪除位於根網域的「renamedNewHostProfile1」設定檔。
使用壓縮檔格式,將某個設定檔中所包含的多個設定檔,匯出至指定的目標。
語法
export --name=<profile name> [--scope=<user|host>] [--entity=<entity>] <target>
--name=<profile name>:要匯出的設定檔名稱。此為必要選項。若在該層中沒有設定檔,或有多個設定檔具有此名稱和此範圍,則指令會發生錯誤並結束。
--scope=<user|host>:設定檔的範圍,可以是使用者或主機。若未指定,則預設為使用者範圍。
--entity=<entity>:設定檔所在的元素。若未指定,則預設為根組織或網域元素,視 --scope 選項而定。
<target>:將匯出設定檔之壓縮檔的完整路徑。若路徑未指定任何檔案名稱,則檔案名稱預設為 <profile name>.zip。若無法寫入目標,則指令會發生錯誤並結束。
% pgtool export --scope=host --name=HostProfile1 /tmp/newdir
已將位於根網域的「HostProfile1」匯出至建立於新目錄 /tmp/newdir 中的 HostProfile1.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>:包含要匯入的設定檔之壓縮檔的完整路徑。
% pgtool import --scope=host --name=NewHostProfile1 --priority=7 /tmp/HostProfile1.zip
已從 HostProfile1.zip 匯入位於根網域中名為「NewHostProfile1」而範圍為「主機」且優先權為「7」的設定檔。
列出所有設定檔或元素/設定檔指定。
若 --name 選項與 --entity 選項均未指定,則會列出所有使用者或主機設定檔,視 --scope 選項而定。
若指定 --name 選項,則會列出所有指定給此設定檔的元素。
若指定 --entity 選項,則會列出所有指定給該元素的設定檔。
語法
list [--scope=<user|host>] [--entity=<entity>] [--name =<profile name>]
--scope=<user|host>:設定檔的範圍,可以是使用者或主機。若未指定,則預設為使用者範圍。
--entity=<entity>:若指定 --name 選項,則為設定檔所在的元素。否則,會指定列出設定檔之元素。若之前未指定,則預設為根組織或網域元素,視 --scope 選項而定。
--name=<profile name>:將會列出指定元素的設定檔名稱。若在該層中沒有設定檔,或有多個設定檔具有此名稱和此範圍,則指令會發生錯誤並結束。
% 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> 是基底項目的辨別名稱。
% pgtool login --username=jmonroe [Enter the correct password when prompted]
使用「jmonroe」和「密碼」之項目所建立的檔案 ~/.apocpass,檔案具有權限 600。要連接之後端的相關資訊,可於預設啟動檔案 ~/pgtool.properties 中找到。
變更設定檔的優先權。
語法
modify [--scope=<user|host>] [--entity=<entity>] <profile name> <priority>
--scope=<user|host>:設定檔的範圍,可以是使用者或主機。若未指定,則預設為使用者範圍。
--entity=<entity>:設定檔所在的元素。若未指定,則預設為根組織或網域元素,視 --scope 選項而定。
<profile name>:要變更其優先權的設定檔名稱。若在該層中沒有設定檔,或有多個設定檔具有此名稱和此範圍,則指令會發生錯誤並結束。
<priority>:指定設定檔優先權的完全正整數。若指定的優先權與此層上此範圍的現有設定檔之優先權相同,則指令會發生錯誤並結束。
% 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>:要取消指定設定檔的元素。
% 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>:設定檔的新名稱。如果使用此名稱和範圍的設定檔已存在於在此層上,則指令會發生錯誤並結束。
% pgtool rename NewUserProfile2 renamedNewUserProfile2
已將位於根組織中的「NewUserProfile2」重新命名為「renamedNewUserProfile2」。