本部分介绍了 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"。
使用 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 作为文件名。如果目标文件不可写,命令将会退出并报告错误。
% pgtool export --scope=host --name=HostProfile1 /tmp/newdir
将 "HostProfile1"(位于根域中)导出到 HostProfile1.zip (已在新目录 /tmp/newdir 中创建)。
从指定的源中导入以 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 文件(包含要导入的配置文件)的完整路径。
% pgtool import --scope=host --name=NewHostProfile1 --priority=7 /tmp/HostProfile1.zip
从 HostProfile1.zip 导入名为 "NewHostProfile1"、范围为 "host"、优先级为 "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" 和 "password" 条目的 ~/.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
为元素 "cn=Role1,o=staff,o=apoc" 取消指定位于根组织中的配置文件 "UserProfile1" 。
重命名配置文件。
语法
rename [--scope=<user|host>] [--entity=<entity>] <profile name> <newname>
--scope=<user|host>:配置文件的范围,可以是用户或主机。如果未指定,则默认范围为用户。
--entity=<entity>:配置文件所在的元素。如果未指定,则默认为根组织或根域中的元素(由 --scope 选项确定)。
<profile name>:要重命名的配置文件的当前名称。
<newname>:配置文件的新名称。如果在同一层上已经存在同名同范围的配置文件,命令将会退出并报告错误。
% pgtool rename NewUserProfile2 renamedNewUserProfile2
将根组织中的配置文件 "NewUserProfile2" 重命名为 "renamedNewUserProfile2"。