密碼編碼的目的是阻止在伺服器配置和內容檔中隨意觀察密碼。
開始之前
請確定管理主控台內的所有伺服器設定檔都位於相同的 IBM® i 系統上。
關於此作業
依預設,在 WebSphere® Application Server的各種 ASCII 配置檔中,密碼會以簡式遮罩演算法自動編碼。 您可以在 Java™ 用戶端和應用程式伺服器管理指令所使用的內容檔中,手動將密碼編碼。如需 OS400 編碼演算法的說明,請參閱 密碼編碼和加密。 若要啟用 WebSphere Application Server 設定檔的 OS400 密碼編碼演算法,請完成下列步驟:
程序
- 設定 os400.security.password 內容以開啟 OS400 密碼編碼演算法,並指定要使用的驗證清單物件。
對所有 WebSphere Application Server 設定檔使用相同的驗證清單物件。 不過,如果您未同步備份所有設定檔的物件和資料,則不建議這樣做。 當您決定要對每一個 WebSphere Application Server 設定檔使用的驗證清單物件時,請考量您的備份及還原原則。
若要設定內容,請完成下列其中一個步驟:
- 請對 manageprofiles -create 公用程式使用 -os400passwords 和 -validationlist 選項,該公用程式位於app_server_root/bin目錄,以在建立設定檔時設定內容。 建立名為 prod 的 WebSphere Application Server 設定檔,並使用下列項目來啟用該設定檔的 OS400 編碼演算法:/QSYS.LIB/QUSRSYS.LIB/WAS.VLDL驗證清單物件,您可以完成下列步驟:
- 在 IBM i 指令行上執行「啟動 Qshell (STRQSH)」指令。
- 在 Qshell 中,執行下列指令:
app_server_root/bin/manageprofiles
-create -profileName prod -startingPort 10150
-templatePath default -os400passwords
-validationlist /QSYS.LIB/QUSRSYS.LIB/WAS.VLDL
前一個指令位於多行上,僅供說明之用。
- 在 WebSphere Application Server 設定檔的 setupCmdLine Qshell Script 中設定 Java 系統內容。 若要啟用 OS400 密碼編碼演算法,請編輯profile_root/bin/setupCmdLine使用下列步驟來執行 Script:
- 將 os400.security.password.encoding.algorithm 內容設為OS400. 預設值為 XOR。
- 將 os400.security.password.validation.list.object 內容設為您需要使用的驗證清單的絕對名稱。 預設值為/QSYS.LIB/QUSRSYS.LIB/EJSADMIN.VLDL.
- 儲存檔案。
- 將 QEJB 使用者設定檔執行權限 (*X) 授與包含驗證清單的檔案庫。
如果 QEJB 已具有存取檔案庫所需的最小權限 (*X) ,請繼續進行下一步。
- 使用「顯示權限 (DSPAUT)」來檢查驗證清單是否建立在/QSYS.LIB/WSADMIN.LIB檔案。
例如:
DSPAUT OBJ('/QSYS.LIB/WSADMIN.LIB')
- 只有在 QEJB 設定檔尚未具有此權限時,才使用「變更權限 (CHGAUT)」指令將執行權限授與 QEJB 設定檔。
例如:
CHGAUT OBJ('/QSYS.LIB/WSADMIN.LIB') USER(QEJB) DTAAUT(*X)
- 建立原生驗證清單物件 (*VLDL)。
對於伺服器設定檔,此步驟是選用的。 當伺服器啟動時,會建立驗證清單物件。 對於遠端設定檔,如果驗證清單尚未存在於管理遠端設定檔的系統上,請建立驗證清單。 此外,當您決定要與每一個遠端設定檔搭配使用的驗證清單物件時,請考量您的備份及還原原則。
注意: 當您使用 OS400 密碼編碼演算法時, Java 用戶端不需要位於與用戶端存取之 WebSphere Application Server 設定檔相同的 IBM i 系統上。
若要建立驗證清單物件,請使用具有 *ALLOBJ 特殊權限的 IBM i 使用者設定檔來執行下列步驟:
- 以具備 *ALLOBJ 特殊權限的使用者設定檔來登入伺服器。
- 使用「建立驗證清單 (CRTVLDL)」指令建立驗證清單物件。
例如,在 WSADMIN.LIB 檔案庫,請使用下列指令:
CRTVLDL VLDL(WSADMIN/WSVLIST)
- 授與 QEJB 使用者設定檔 *RWX 權限給驗證清單物件。
例如,若要授與 WSADMIN 檔案庫中 WSVLIST 驗證清單物件的 *RWX 權限,請使用下列指令:
CHGAUT OBJ('/QSYS.LIB/WSADMIN.LIB/WSVLIST.VLDL') USER(QEJB) DTAAUT(*RWX)
- 使用「變更系統值 (CHGSYSVAL)」指令,將 QRETSVRSEC 系統值設為 1。
例如:
CHGSYSVAL SYSVAL(QRETSVRSEC) VALUE('1')
- 若為伺服器設定檔,請啟動或重新啟動伺服器,並等到伺服器備妥可供服務時,再嘗試手動編碼屬於該設定檔的內容檔中的密碼。
下一步
完成先前步驟並重新啟動伺服器之後,您可以手動將內容檔中的密碼編碼。 如需相關資訊,請參閱 在內容檔中手動編碼密碼 。