Chinaunix首页 | 论坛 | 博客
  • 博客访问: 338032
  • 博文数量: 38
  • 博客积分: 1289
  • 博客等级: 中尉
  • 技术积分: 533
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-10 22:30
个人简介

Good Good Study. Day Day Up.

文章分类

全部博文(38)

文章存档

2018年(1)

2016年(3)

2015年(12)

2014年(7)

2013年(10)

2012年(5)

分类: 系统运维

2013-09-16 11:25:33

众所周知,最简单的方法就是把用户名和密码直接写到命令里面。
${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 的时候就不需要手工输入密码了
../bin/stopManager.sh

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"

阅读(3015) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~