Chinaunix

标题: WAS 7 密码的编码和解码(启用安全性之后不用手工输入密码) [打印本页]

作者: Shell_HAT    时间: 2013-09-16 11:29
标题: WAS 7 密码的编码和解码(启用安全性之后不用手工输入密码)
WAS 7 密码的编码和解码(启用安全性之后不用手工输入密码)

众所周知,最简单的方法就是把用户名和密码直接写到命令里面。
${PROFILE_HOME}/bin/stopServer.sh serverXYZ -username XYZ -password XYZ

但是这样做的话,就把明文的密码暴露出来了,不安全。可以使用下面介绍的方法进行编码。

1、首先设置一下环境变量
  1. WAS_HOME=/opt/data/IBM/WebSphere/AppServer
复制代码
2、编码

(1) 我们拿 dmgr 做试验,比如我的 dmgr 概要文件叫做 Dmgr01
  1. cd ${WAS_HOME}/profiles/Dmgr01/properties/
复制代码
(2) 先备份文件 soap.client.props
  1. 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) 开始编码
  1. ../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 的时候就不需要手工输入密码了
  1. ../bin/stopManager.sh
复制代码
3、解码

如果不小心忘记了密码,可以通过这个方法找回来。
  1. WAS_PASS={xor}bm1sa2pp
  2. JAR_FILE=securityimpl.jar
  3. JAR_PATH=`find ${WAS_HOME} -type f -name ${JAR_FILE}`
  4. JAR_FOLDER=`dirname ${JAR_PATH}`
  5. WAS_JARS=$(dirname $(find ${WAS_HOME} -type f -name securityimpl.jar))
  6. ${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"

作者: rdcwayx    时间: 2013-09-20 12:04
谢谢分享
作者: 2009532140    时间: 2013-12-27 20:55
学习了…周一到公司试试…




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2