- 论坛徽章:
- 33
|
WAS 7 密码的编码和解码(启用安全性之后不用手工输入密码)
众所周知,最简单的方法就是把用户名和密码直接写到命令里面。
${PROFILE_HOME}/bin/stopServer.sh serverXYZ -username XYZ -password XYZ
但是这样做的话,就把明文的密码暴露出来了,不安全。可以使用下面介绍的方法进行编码。
1、首先设置一下环境变量- WAS_HOME=/opt/data/IBM/WebSphere/AppServer
复制代码 2、编码
(1) 我们拿 dmgr 做试验,比如我的 dmgr 概要文件叫做 Dmgr01- cd ${WAS_HOME}/profiles/Dmgr01/properties/
复制代码 (2) 先备份文件 soap.client.props- cp -p soap.client.props soap.client.props.original
复制代码 (3) 修改文件 soap.client.props,把用户名和密码分别写到下面两行的等号后面:
com.ibm.SOAP.loginUserid=
com.ibm.SOAP.loginPassword=
比如我的:
com.ibm.SOAP.loginUserid=wasadmin
com.ibm.SOAP.loginPassword=123456
(4) 开始编码- ../bin/PropFilePasswordEncoder.sh soap.client.props com.ibm.SOAP.loginPassword -noBackup
复制代码 (5) 确认一下编码的结果
[properties]# diff soap.client.props soap.client.props.original
31,32c31,32
< com.ibm.SOAP.loginUserid=wasadmin
< com.ibm.SOAP.loginPassword={xor}bm1sa2pp
---
> com.ibm.SOAP.loginUserid=
> com.ibm.SOAP.loginPassword=
|
(6) 现在停止 dmgr 的时候就不需要手工输入密码了3、解码
如果不小心忘记了密码,可以通过这个方法找回来。- WAS_PASS={xor}bm1sa2pp
- JAR_FILE=securityimpl.jar
- JAR_PATH=`find ${WAS_HOME} -type f -name ${JAR_FILE}`
- JAR_FOLDER=`dirname ${JAR_PATH}`
- WAS_JARS=$(dirname $(find ${WAS_HOME} -type f -name securityimpl.jar))
- ${WAS_HOME}/java/bin/java -Djava.ext.dirs=${JAR_FOLDER} -cp ${JAR_FILE} com.ibm.ws.security.util.PasswordDecoder ${WAS_PASS}
复制代码 结果如下:
encoded password == "{xor}bm1sa2pp", decoded password == "123456"
|
|