Sun Java System Identity Server 2004Q2 管理指南 |
第 10 章
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 装入这些文件即可一次完成任务。有关详细信息,参见《Identity Server Developer'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) 使用通配符 (*),则必须在 Shell(命令解释器)中用元字符(\) 对其进行换码。
--debug (-d)
--debug 选项可用于将消息写入在 identity_server_root/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 文件传递给该选项的详细信息,参见《Identity Server Developer's Guide》中的“Servic Management”一章。
--schema (-s)
--schema 选项用于将 Identity Server 服务的属性装入 Directory Server。它的变量值为在其中定义服务属性的 XML 服务文件。此 XML 服务文件基于 sms.dtd。可以指定一个或多个 XML 文件。
--deleteservice (-r)
--deleteservice 选项用于只删除服务及其模式。
--serviceName
--serviceName 选项的值为在 XML 服务文件的 Service name=... 标记下定义的服务名称。此部分在代码示例 10-1中显示。
--help (-h)
--help 参数用于显示 amadmin 命令的语法。
--version (-n)
--version 参数用于显示实用程序名称、产品名称、产品版本和法律声明。
使用 amadmin 进行联合管理
本节列出供“联合管理”使用的 amadmin 参数。有关“联合管理”的详细信息,参见《Identity Server Federation Management Guide》。
将特权元数据符合性 XML 装入 Directory Server
amadmin -u|--runasdn <user's DN>
-w|--password <password> or -f|--passwordfile <passwordfile>
-e|--entityname <entity name>
-g|--import <xmlfile>
--runasdn (-u)
用户的 DN
--password (-w)
用户的口令。
--passwordfile (-f)
包含用户口令的文件的名称。
--entityname (-e)
实体名称。例如 http://www.example.com。某一实体应只属于一个组织。
--import (-g)
包含元数据信息的 XML 文件的名称。此文件应该符合特权元数据规范和 XSD。
将实体导出到 XML 文件(无 XML 数字签名)
amadmin -u|--runasdn <user's DN>
-w|--password <password> or -f|--passwordfile <passwordfile>
-e|--entityname <entity name>
-o|--export <filename>
--runasdn (-u)
用户的 DN
--password (-w)
用户的口令。
--passwordfile (-f)
包含用户口令的文件的名称。
--entityname (--e)
驻留在 Directory Server 中的实体的名称。
--export (-o)
要包含实体的 XML 的文件名称。XML 应符合特权元数据 XSD。
将实体导出到 XML 文件(有 XML 数字签名)
amadmin -u|--runasdn <user's DN>
-w|--password <password> or -f|--passwordfile <passwordfile>
-e|--entityname <entity name>
-q|--exportwithsig <filename>
--runasdn (-u)
用户的 DN
--password (-w)
用户的口令。
--passwordfile (-f)
包含用户口令的文件的名称。
--entityname (--e)
驻留在 Directory Server 中的实体的名称
--exportwithsig (-o)
要包含实体的 XML 的文件名称。此文件已经过数字签名。XML 必须符合特权元数据 XSD。
将 amadmin 用于资源包
下面的一节介绍用于添加、查找和删除资源包的 amadmin 语法。
添加资源包
amadmin -u|--runasdn <user-dn> -w|--password <user-password>
-b|--addresourcebundle <name-of-resource-bundle>
-i|--resourcebundlefilename <resource-bundle-file-name>
[-R|--resourcelocale] <locale>
获取资源字符串
amadmin -u|--runasdn <user-dn> -w|--password <user-password>
-z|--getresourcestrings <name-of-resource-bundle>
[-R|--resourcelocale] <locale>
移除资源包
amadmin -u|--runasdn <user-dn> -w|--password <user-password>
-j|--deleteresourcebundle <name-of-resource-bundle>
[-R|--resourcelocale] <locale>