这是“命令行参考”,《Sun Java System Access Manager 7 2005Q4 管理指南》的第四部分。
本部分中介绍的所有命令行工具都可以在以下默认位置找到:
AccessManager-base/SUNWam/bin (Solairs) AccessManager-base/identity/bin (Linux)
本部分包含以下各章:
命令行可执行文件 amadmin 的主要用途是将 XML 服务文件加载到数据存储库中,以及在 DIT 上执行批管理任务。amadmin 位于 AccessManager-base/SUNWam/bin 中,可用来:
加载 XML 服务文件 - 管理员将服务加载到使用在 sms.dtd 中定义的 XML 服务文件格式的 Access Manager 中。所有服务都必须使用 amadmin 加载;它们无法通过 Access Manager 控制台导入。
XML 服务文件作为 Access Manager 所引用 XML 数据的静态 blobs 存储在数据存储库中。此信息对 Directory Server 不适用,它只帮助了解 LDAP。
执行 DIT 身份对象的批更新 - 管理员可使用在 amadmin.dtd 中定义的批处理 XML 文件格式对 Directory Server DIT 执行批更新。例如,如果管理员要创建 10 个组织、1000 个用户和 100 个组,将请求放入一个或多个批处理 XML 文件中,然后用 amadmin 加载这些文件即可。
amadmin 仅支持 Access Manager 控制台所支持的部分功能,且不可完全替代 Access Manager。建议将控制台用于小型管理任务,将 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 命令行参数选项的定义:
--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 是一个强制性选项,其值等于用 --runasdn 选项指定的 DN 密码的值。
--locale 选项的值等于语言环境名称的值。此选项可用于自定义消息语言。如果没有提供此选项,则使用默认语言环境 en_US。
如果使用 --continue 选项,则即使出现了错误,amadmin 命令仍然会继续处理 XML 文件。例如,如果要同时加载三个 XML 文件,并且第一个 XML 文件加载失败,amadmin 将继续加载其余的文件。continue 选项仅应用于独立请求。
--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) 使用通配符 (*),则必须在 Shell(命令解释器)中用元字符 (\\) 对其进行换码。
--debug 选项可以将消息写入在 /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 选项可在屏幕上显示 amadmin 命令的总体进度。它不会将详细信息打印到文件中。输出到命令行的消息与 i18n 兼容。
--data 选项将正在导入的批处理 XML 文件的名称作为它的值。可以指定一个或多个 XML 文件。此 XML 文件可以创建、删除和读取各种目录对象,还可以注册和取消注册服务。
--schema 选项可将 Access Manager 服务的属性加载到 Directory Server 中。它的变量值为在其中定义服务属性的 XML 服务文件。此 XML 服务文件是基于 sms.dtd 的。可以指定一个或多个 XML 文件。
根据是要对 DIT 配置批更新还是要加载服务模式和配置数据,必须指定 --data 或 --schema 选项。
--deleteservice 选项仅用于删除服务及其模式。
--serviceName 选项的值等于在 XML 服务文件 Service name=... 标签中定义的服务名称。 此部分显示在--serviceName中。
... <ServicesConfiguration> <Service name="sampleMailService" version="1.0"> <Schema serviceHierarchy="/other.configuration/sampleMailService" i18nFileName="sampleMailService" i18nKey="iplanet-am-sample-mail-service-description"> ... |
--help 参数显示 amadmin 命令的语法。
--version 参数显示实用程序名称、产品名称、产品版本和法律声明。
本节列出供“联合管理”使用的 amadmin 参数。有关“联合管理”的详细信息,请参阅 Access Manager Federation Management Guide。
amadmin -u|--runasdn <user’s DN> -w|--password <password> or -f|--passwordfile <passwordfile> -e|--entityname <entity name> -g|--import <xmlfile>
用户 DN
用户密码。
包含用户密码的文件的名称。
实体名称。例如,http://www.example.com。某一实体应只属于一个组织。
包含元数据信息的 XML 文件的名称。此文件应该符合 Liberty 元数据规范和 XSD。
amadmin -u|--runasdn <user’s DN>
-w|--password <password> or -f|--passwordfile <passwordfile> -e|--entityname <entity name> -o|--export <filename>
用户 DN
用户密码。
包含用户密码的文件的名称。
驻留在 Directory Server 中的实体的名称
要包含实体的 XML 的文件名称。XML 应符合 Liberty 元数据 XSD。
amadmin -u|--runasdn <user’s DN> -w|--password <password> or -f|--passwordfile <passwordfile> -e|--entityname <entity name> -q|--exportwithsig <filename>
用户 DN
用户密码。
包含用户密码的文件的名称。
驻留在 Directory Server 中的实体的名称
要包含实体的 XML 的文件名称。此文件已经过数字签名。XML 必须符合 Liberty 元数据 XSD。
以下章节说明了用于添加、查找和移除资源包的 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>
本章介绍有关 amPassword 命令行工具的信息,包括下面一节:
Access Manager 包含一个 ampassword 实用程序,此程序在 SPARC 系统中位于 /opt/SUNWam/bin 下,在 Linux 系统中位于 /opt/sun/Identity/bin 下。利用该实用程序,您可以更改管理员或用户的 Directory Server 密码。
修改位于以下目录的 serverconfig.xml 文件:
AccessManager-base/SUNWam/config/ |
更改 Access Manager 运行的 SSL 端口的 port 服务器属性。
更改 SSL 的 type 属性。
例如:
<iPlanetDataAccessLayer> <ServerGroup name="default" minConnPool="1" maxConnPool="10"> <Server name="Server1" host="sun.com" port="636" type="SSL" /> <User name="User1" type="proxy"> <DirDN> cn=puser,ou=DSAME Users,dc=iplanet,dc=com </DirDN> <DirPassword> AQIC5wM2LY4Sfcy+AQBQxghVwhBE92i78cqf </DirPassword> </User> ... |
ampassword 只更改 Directory Server 中的密码。 您需要手动更改 ServerConfig.xml 中的密码以及 Access Manager 的所有验证模板。
本章介绍有关 bak2am 命令行工具的信息,包含下面一节:
Access Manager 在 AccessManager-base/SUNWam/bin 下包含 bak2am 实用程序。此实用程序执行由 am2back 实用程序备份的 Access Manager 组件的恢复。
在 Solaris 操作系统下使用 bak2am 工具的通用语法为:
./bak2am [ -v | --verbose ] -z | --gzip tar.gz-file ./bak2am [ -v | --verbose ] -t | --tar tar-file ./bak2am -h | --help ./bak2am -n | --version
在 Windows 2000 操作系统下使用 bak2am 工具的通用语法为:
bak2am [ -v | --verbose ] -d | --directory directory-name bak2am -h | --help bak2am -n | --version
必须完全按照语法中所示,输入两个连字符。
--gzip 指定 tar.gz 格式的备份文件的完整路径和文件名。默认情况下,此路径为 AccessManager-base/backup。此选项仅适用于 Solaris。
--tar 指定 tar 格式的备份文件的完整路径和文件名。默认情况下,此路径为 AccessManager-base/backup。此选项仅适用于 Solaris。
--verbose 用于在详细模式下运行备份实用程序。
--directory 指定备份目录。默认情况下,此路径为 AccessManager-base/backup。此选项仅适用于 Windows 2000。
--help 参数显示 bak2am 命令的语法。
--version 参数显示实用程序名称、产品名称、产品版本和法律声明。
本章介绍有关 am2bak 命令行工具的信息。
Access Manager 包含一个 am2bak 实用程序,此程序位于 AccessManager-base/SUNWam/bin 下。该实用程序可以对 Access Manager 的全部或部分组件进行备份。在备份日志时必须运行 Directory Server。
在 Solaris 操作系统上使用 am2bak 工具的通用语法是:
./am2bak [ -v | --verbose ] [ -k | --backup backup-name ] [ -l | --location location ] [[-c | --config] | [-b | --debug] | [-g | --log] | [-t | --cert] | [-d | --ds] | [-a | --all]]*
./am2bak -h | --help
./am2bak -n | --version
在 Windows 2000 操作系统上使用 am2bak 工具的通用语法是:
am2bak [ -v | --verbose ] [ -k | --backup backup-name ] [ -l | --location location ] [[-c | --config] | [-b | --debug] | [-g | --log] | [-t | --cert] | [-d | --ds] | [-a | --all]]*
am2bak -h | --help
am2bak -n | --version
必须完全按照语法中所示,输入两个连字符。
--verbose 用于在详细模式下运行备份实用程序。
--backup backup-name 定义备份文件的名称。默认名称为 ambak。
--location 指定备份文件的目录位置。默认位置为 AccessManager-base/backup。
--config 指定仅为配置文件备份。
--debug 指定仅为调试文件备份。
--log 指定仅为日志文件备份。
--cert 指定仅为证书数据库文件备份。
--ds 指定仅为 Directory Server 备份。
--all 指定对整个 Access Manager 进行完整备份。
--help 参数显示 am2bak 命令的语法。
--version 参数显示实用程序名称、产品名称、产品版本和法律声明。
以超级用户身份登录。
运行此脚本的用户必须具有超级用户权限。
如果需要,运行确保使用正确路径的脚本。
此脚本将会备份以下 Solaris™ 操作环境文件:
配置文件和自定义文件:
AccessManager-base/SUNWam/config/
AccessManager-base/SUNWam/locale/
AccessManager-base/SUNWam/servers/httpacl
AccessManager-base/SUNWam/lib/*.properties(Java 属性文件)
AccessManager-base/SUNWam/bin/amserver. instance-name
AccessManager-base/SUNWam/servers/https- all_instances
AccessManager-base/SUNWam/servers/web-apps- all_instances
AccessManager-base/SUNWam/web-apps/services/WEB-INF/config
AccessManager-base/SUNWam/web-apps/services/config
AccessManager-base/SUNWam/web-apps/applications/WEB-INF/classes
AccessManager-base/SUNWam/web-apps/applications/console
/etc/rc3.d/K55amserver.all_instances
/etc/rc3.d/S55amserver.all_instances
DirectoryServer-base/slapd- host /config/schema/
DirectoryServer-base/slapd- host /config/slapd-collations.conf
Access Manager/slapd- host /config/dse.ldif
日志文件和调试文件:
var/opt/SUNWam/logs(Access Manager 日志文件)
var/opt/SUNWam/install(Access Manager 安装日志文件)
var/opt/SUNWam/debug(Access Manager 调试文件)
证书:
Access Manager/SUNWam/servers/alias
Access Manager/alias
此脚本还将备份以下 Microsoft® Windows 2000 操作系统文件:
配置文件和自定义文件:
AccessManager-base/web-apps/services/WEB-INF/config/*
AccessManager-base/locale/*
AccessManager-base/web-apps/applications/WEB-INF/classes/*.properties(java 属性文件)
AccessManager-base/servers/https- host/config/jvm12.conf
AccessManager-base/servers/https- host/config/magnus.conf
AccessManager-base/servers/https- host/config/obj.conf
DirectoryServer-base/slapd-host/config/schema/*.ldif
DirectoryServer-base/slapd-host/config/slapd-collations.conf
DirectoryServer-base/slapd-host/config/dse.ldif
日志文件和调试文件:
var/opt/logs(Access Manager 日志文件)
var/opt/debug(Access Manager 调试文件)
证书:
AccessManager-base/servers/alias
AccessManager/alias
本章介绍有关 amserver 命令行工具的信息。本章包含下面一节:
amserver 命令行可执行文件启动和停止 amunixd 与 amsercuridd 帮助器,它们分别与 Unix 和 SecurID 验证模块相关。
使用该工具的通用语法为:
./amserver { start | stop }
start 为启动帮助器的命令。
stop 为停止帮助器的命令。
本章提供有关 VerifyArchive 命令行工具的信息,包含下面一节:
VerifyArchive 用来检验日志归档文件。日志归档文件为一组带有时间戳的日志及其相应的密钥库(密钥库包含用于生成 MAC 和“数字签名”的密钥,MAC 和“数字签名”用于检测日志文件是否被篡改)。检验归档文件可以检测归档文件中是否可能有文件被篡改和/或删除。
对于给定 logName,VerifyArchive 会提取所有归档文件集和属于每个归档文件集的所有文件。执行检测时,VerifyArchive 搜索每个日志记录是否进行了篡改。如果检测到篡改,则将打印一条消息,指定已被篡改的文件和记录编号。
VerifyArchive 也检查所有从归档文件集中删除的文件。如果检测到文件被删除,则将打印一条消息,说明验证已失败。如果未检测到文件被篡改或被删除,将返回一条消息,说明归档文件的验证已成功完成。
如果以无管理员权限的用户身份运行 amverifyarchive,可能会出错。
所有的参数选项都是必需的。其语法如下所示:
amverifyarchive -l logName -p path -u uname -w password
logName 指要验证的日志的名称(如 amConsole、amAuthentication 等)。VerifyArchive 验证给定 logName 的访问和错误日志。例如,如果指定了 amConsole,则验证程序将验证 amConsole.access 和 amConsole.error 文件。logName 也可以指定为 amConsole.access 或 amConsole.error,以限制只验证某些日志。
path 是存放日志文件的完整目录路径。
uname 是 Access Manager 管理员的用户 ID。
password 是 Access Manager 管理员的密码。
本章介绍有关 amsecuiridd 帮助器的信息,包含以下章节:
通过安全动态 ACE/客户机 C API 和 amsecruidd 帮助器实现 Access Manager SecurID 验证模块,该帮助器在 Access Manager SecurID 验证模块和 SecurID 服务器之间通信。SecurID 验证模块通过打开套接字 localhost:57943 调用 amsecuridd 守护进程来侦听 SecurID 验证请求。
57943 为默认端口号。如果此端口号已被使用,可以在 SecurID 验证模块中的“SecurID 帮助器验证端口”属性中指定不同的端口号。此端口号在所有组织中必须唯一。
amsecuridd 的接口以明文形式通过 stdin,因此仅允许本地主机连接。amsecuridd 在后台使用 SecurID 远程 API(版本 5.x)进行数据加密。
amsecuridd 帮助器在端口号为 58943(默认)的端口上侦听,以接收其配置信息。如果此端口已被使用,可以在 AMConfig.properties 文件(默认情况下,位于 AccessManager-base /SUNWam/config/)中的 securidHelper.ports 属性中对其进行更改。securidHelp.ports 属性包含每个 amsecuridd 帮助器实例的端口列表(以空格分隔)。保存对 AMConfig.properties 所作的更改后,重新启动 Access Manager。
应为每个组织运行 amsecuridd 的单独实例,此组织与单独的 ACE/Server(包含不同的 sdconf.rec 文件)进行通信。
其语法如下所示:
amsecuridd [-v] [-c portnum]
打开详细模式,然后登录到 /var/opt/SUNWam/debug/securidd_client.debug 。
配置侦听端口号。默认端口为 58943。
默认情况下,amsecuridd 位于 AccessManager-base /SUNWam/share/bin。要在默认端口上运行帮助器,请输入以下命令(不需要选项):
./amsecuridd
要在非默认端口上运行帮助器,请输入以下命令:
./amsecuridd [-v] [-c portnm]
amsecuridd 也可以通过 amserver 命令行实用程序运行,但其只能在默认端口上运行。
为了运行帮助器,需要以下的库(多数库位于操作系统的 /usr/lib/):
libnsl.so.1
libthread.so.1
libc.so.1
libdl.so.1
libmp.so.2
librt.so.1
libaio.so.1
libmd5.so.1
将 LD_LIBRARY_PATH 设置为 AccessManager-base /Sunwam/lib/ 以找到 libaceclnt.so。