這是「指令行參照」,「Sun Java System Access Manager 7 2005Q4 管理指南」的第四部分。
描述於本部分的所有指令行工具皆可於下列預設位置中取得:
AccessManager-base/SUNWam/bin (Solairs) AccessManager-base/identity/bin (Linux)
本部分包含以下章節:
指令行工具可執行檔 amadmin 的主要用途是將 XML 服務檔載入資料存放區,以及在 DIT 上執行批次管理作業。您可在 AccessManager-base/SUNWam/bin 中找到 amadmin,並用於:
載入 XML 服務檔案 - 管理員將使用 XML 服務檔案格式 (在 sms.dtd 中定義) 的服務載入 Access Manager 中。必須使用 amadmin 載入所有服務;不能透過 Access Manager 主控台匯入這些服務。
XML 服務檔案以 XML 資料之靜態 blobs 格式儲存於資料存放區中,可為 Access Manager 所參照。Directory Server 僅能夠識別 LDAP,並不使用該資訊。
對 DIT 執行識別物件的批次更新 - 管理員可使用 amadmin.dtd 中定義的批次處理 XML 檔案格式對 Directory Server DIT 執行批次更新。例如,如果管理員希望建立 10 個組織、1000 個使用者和 100 個群組,可以將這些請求放在一個或多個批次處理 XML 檔案中,然後使用 amadmin 載入這些檔案,從而一次達到上述目的。
amadmin 僅支援 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 是在即使出現錯誤的情況下仍將繼續處理 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
pattern 可以是萬用字元 (*)。如果此式樣使用萬用字元 (*),則必須使用圖元字元 (\\) 使其從 shell 退出。
--debug 是將訊息寫入 amAdmin 檔案 (於 /var/opt/SUNWam/debug 目錄之下建立) 的選項。這些訊息是技術方面的詳細說明,但不符合 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 檔案。
必須指定 --data 或 --schema 選項,具體情況取決於是對 DIT 配置批次更新,還是載入服務模式和配置資料。
--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 指令行工具的資訊,包含以下小節:
在 SPARC 系統上,Access Manager 的 ampassword 公用程式位於 /opt/SUNWam/bin,在 Linux 系統上位於 /opt/sun/Identity/bin。該公用程式可讓您變更管理員或使用者的 Directory Server 密碼。
修改位於以下目錄中的 serverconfig.xml 檔案:
AccessManager-base/SUNWam/config/ |
將伺服器屬性 port 變更為 Access Manager 正在執行的 SSL 連接埠。
將屬性 type 變更為 SSL。
例如:
<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 公用程式。該公用程式可復原透過 am2bak 公用程式備份的 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 在 AccessManager-base/SUNWam/bin 下包含一個 am2bak 公用程式。該公用程式可執行 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 指令行可執行檔可分別啟動和停止與 Unix 和 SecurID 認證模組關聯的 amunixd 及 amsercuridd 輔助程式。
此工具的一般語法如下:
./amserver { start | stop }
start 是啟動輔助程式的指令。
stop 是停止輔助程式的指令。
本章提供有關 VerifyArchive 指令行工具的相關資訊,包含以下小節:
VerifyArchive 的用途是驗證記錄歸檔檔案。記錄歸檔檔案是一組標記了時間的記錄及其相應的鍵值儲存區 (鍵值儲存區包含用於產生和數位簽名用於偵測記錄檔竄改的鍵值)。歸檔檔案的驗證會偵測對歸檔檔案中任何檔案可能的竄改和/或刪除。
VerifyArchive 擷取給定 logName 的所有歸檔檔案集以及屬於每個歸檔檔案集的所有檔案。執行時,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 輔助程式的資訊,包含以下小節:
Access Manager SecurID 認證模組透過 Security Dynamic ACE/Client C API 和 amsecruidd 輔助程式來實作,此輔助程式可在 Access Manager SecurID 認證模組和 SecurID Server 之間通訊。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。
對於和單獨 ACE/Server (包含不同的 sdconf.rec 檔案) 通訊的每個組織,系統應該執行單獨的 amsecuridd 實例。
語法如下所示:
amsecuridd [-v] [-c portnum]
開啟詳細模式,並記錄到 /var/opt/SUNWam/debug/securidd_client.debug 。
配置偵聽連接埠號。預設值為 58943。
依預設,amsecuridd 位於 AccessManager-base /SUNWam/share/bin。若要在預設連接埠上執行輔助程式,請輸入以下指令 (無選項):
./amsecuridd
若要在非預設連接埠上執行輔助程式,請輸入以下指令:
./amsecuridd [-v] [-c portnm]
還可透過 amserver 指令行公用程式來執行 amsecuridd,但它僅可在預設連接埠上執行。
為了執行輔助程式,需要以下程式庫 (大多數程式庫可在作業系統的 /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。