Sun ONE Identity Server 6.1 管理指南 |
第 9 章
amadmin 命令行工具本章介绍有关 amadmin 命令行工具的信息,包含以下内容:
amadmin 命令行可执行文件命令行可执行文件 amadmin 的主要用途是将 XML 服务文件装入 Directory Server 并在 DIT 上执行批管理任务。可以在 IdentityServer_base/SUNWam/bin 中找到 amadmin,其用途包括:
- 装入 XML 服务文件 - 管理员将服务装入使用 XML 服务文件格式(在 sms.dtd 中定义)的 Identity Server。所有服务必须使用 amadmin 装入,而不能通过 Identity Server 控制台导入。
注
XML 服务文件作为由 Identity Server 引用的 XML 数据的静态 blobs 存储在 Directory Server 中。此信息不适用于只了解 LDAP 的 Directory Server。
- 对 DIT 执行身份对象的批更新 - 管理员可以使用在 amadmin.dtd 中定义的批处理 XML 文件格式执行对 Directory Server DIT 的批更新。例如,如果管理员要创建 10 个组织、1000 个用户和 100 个组,可以通过将请求放在一个或多个批处理 XML 文件中并使用 amadmin 装入这些文件即可一次完成任务。有关详细信息,请参见 Sun One Identity Server Programmer's Guide 中的“Service Management”一章。
amadmin 语法
必须遵守若干结构性规则才能使用 amadmin。使用该工具的通用语法为:
- amadmin -u | --runasdn dnname -w | --password password [-l | --locale localename] [[-v | --verbose] | [-d |--debug]] -t | --data xmlfile1 [xmlfile2 ...]
- amadmin -u | --runasdn dnname -w | --password password [-l | --locale localename] [[-v | --verbose] | [-d | --debug]] -s | --schema xmlfile1 [xmlfile2 ...]
- amadmin -u | --runasdn dnname -w | --password password [-l | --locale localename] [[-v | --verbose] | [-d | --debug]] -r | --deleteService serviceName1 [serviceName2 ...]
- amadmin -u | --runasdn dnname -w | --password password or -f | --password file passwordfile [-c | --continue] [-l | --locale localename] [[-v | --verbose] | [-d | --debug]] -m | --session servername pattern
- amadmin -h | --help
- amadmin -n | --version
- amadmin -u | --runasdn dnname -w | --password password or - f |--passwordfile passwordfile [-l | --locale localename] [[-v | --verbose] | [-d] |--debug]] -a |--addAttributes serviceName schemaType xmlfile[xmlfile2] ...
amadmin 选项
以下为 amadmin 命令行参数选项的定义:
--runasdn (-u)
--runasdn 用于在 LDAP 服务器中验证用户。该变量的值为被授权运行 amadmin 的用户的独特名称 (DN),例如
--runasdn uid=amAdmin,ou=People,o=iplanet.com,o=isp。
还可以在 DN 中的域组件之间插入空格,并将整个 DN 用双引号引起,如下所示:--runasdn "uid=amAdmin, ou=People, o=iplanet.com, o=isp"。
--password (-w)
--password 是强制性选项,其值为使用 --runasdn 选项指定的 DN 的密码。
--locale (-l)
--locale 选项的值为语言环境的名称。此选项可用于自定义消息语言。如果未提供该选项的值,将使用缺省的语言环境 en_US。
--continue (-c)
如果使用 --continue 选项,则即使出现了错误,amadmin 命令仍然会继续处理 XML 文件。例如,如果要同时装入三个 XML 文件,而第一个 XML 文件失败,则 amadmin 将继续装入剩余的文件。
--session (-m)
--session (-m) 选项用于管理会话或显示当前会话。指定 --runasdn 时,其值必须与 AMConfig.properties 中的超级用户的 DN 相同,或为顶层管理员用户的 ID。
以下示例将显示特定服务主机名的所有会话:
amadmin -u uid=amadmin,ou=people,dc=iplanet,dc=com -v -w 12345678 -m http://sun.com:58080
以下示例将显示特定用户的会话:
amadmin -u uid=amadmin,ou=people,dc=iplanet,dc=com -v -w 12345678 -m http://sun.com:58080 username
可以通过输入相应的索引编号来终止会话,或输入多个索引编号(以空格分开)来终止多个会话。
而使用以下选项:
amadmin -m | --session servername pattern
pattern 可以是通配符 (*)。如果此模式 (pattern) 使用通配符 (*),必须用元字符 (\) 使其脱离开命令解释器。
--debug (-d)
--debug 选项用于将消息写入在 IdentityServer_base/var/opt/SUNWam/debug 目录下创建的 amadmin 文件。这些消息在技术上已详化,但与 i18n 不兼容。要生成 amadmin 操作日志,则在记录到数据库时,需要手动添加数据库驱动程序的类路径。例如,如果在 amadmin 中要将日志记录到 mysql,请添加以下各行:
CLASSPATH=$CLASSPATH:/opt/IS61/SUNWam/lib/mysql-connector-java-3.0.6-stable-bin.jar
export CLASSPATH
--verbose (-v)
--verbose 选项用于将 amadmin 命令的总体进度显示到屏幕上。它不将详细信息保存到文件中。输出到命令行的消息与 i18n 兼容。
--data (-t)
--data 选项的值将采用要导入的批处理 XML 文件的名称。可以指定一个或多个 XML 文件。此 XML 文件可以创建、删除和读取各种目录对象,还可以注册和取消注册服务。有关可以传递给此选项的 XML 文件的类型的详细信息,请参见 Sun ONE Identity Server Programmer's Guide 中的“Servic Management”一章。
--schema (-s)
--schema 选项用于将 Identity Server 服务的属性装入 Directory Server。它的变量值为在其中定义服务属性的 XML 服务文件。此 XML 服务文件基于 sms.dtd。可以指定一个或多个 XML 文件。
--deleteservice (-r)
--deleteservice 选项用于只删除服务及其模式。
--serviceName
--serviceName 选项的值为在 XML 服务文件的 Service name=... 标记下定义的服务名称。代码示例 9-1 中显示了此部分。
--help (-h)
--help 参数用于显示 amadmin 命令的语法。
--version (-n)
--version 参数用于显示实用程序名称、产品名称、产品版本和法律通告。
使用 amadmin 创建策略可以通过 amadmin 管理策略,但是不能直接使用 amadmin 修改策略。要修改策略,必须先删除该策略,然后使用 amadmin 添加已修改的策略。
要使用 amadmin 添加策略,必须按照 policy.dtd 开发策略 XML 文件。(Sun ONE Identity Server Customization and API Guide 中介绍了 policy.dtd)开发了策略的 XML 文件之后,可以使用以下命令装入该文件:
IdentityServer_base/SUNWam/bin/amadmin
--runasdn "uid=amAdmin,ou=People,default_org,root_suffix"
--password password
--data policy.xml
要同时添加多个策略,请将这些策略放在一个 XML 文件中,而不是在每个 XML 文件中放一个策略。如果一连串使用多个 XML 文件装入策略,则可能会损坏内部策略索引,并且某些策略可能不会参与策略评估。
通过 amadmin 创建策略时,请确保在创建验证模式条件时使用组织注册验证模块;确保在创建组织、LDAP 组主题、LDAP 角色主题和 LDAP 用户主题时,存在相应的 LDAP 对象(组织、组、角色和用户);确保在创建 IdentityServerRoles 主题时,存在 Identity Server 角色;确保在创建子组织或对等组织候选时,存在相关的组织。
请注意,SubOrgReferral、PeerOrgReferral、Organization 主题、IdentityServerRoles 主题、LDAPGroups 主题、LDAPRoles 主题和 LDAPUsers 主题中的值元素的文本中需要使用完整 DN。