WAS 忘记密码
一、重置密码
1.首先关闭was,ps –ef|grep java 查看java进程号,然后kill -9 XXXX杀掉进程即可。或者使用命令./stopServer.sh server1
2.取消控制台安全验证
方法一:/opt/IBM/WebSphere/AppServer/profiles/dmgr01/config/cells/tappsvr01Cell01 目录下 security.xml文件 在第一个<security:Security标签里面,从上往下,把第一个找到的enabled="true",改成enabled="false"
方法二:/opt/IBM/WebSphere/AppServer/profiles/dmgr01/bin下执行./wsadmin.sh -conntype NONE
3. 然后启动WAS,用任意用户 名进行登录。
4.点击:安全性—全局安全性—启用管理安全性—安全配置向导
5.再打开全局安全性,看界面中,勾选“启用应用程序安全性”
6.选择“联合存储库”----配置用户名、密码----点击“完成”---完成配置
7.重新启动was(记得检查配置文件中安全性验证是否恢复)
二、破解密码
原理:IBM中WAS的密码是XOR(eXclusive OR异或)的方式进行编码encode) 而不是加密。
参考博主目录对应修改
1.进入/opt/IBM/WebSphere/AppServer/java/8.0/bin
2.执行 java -Djava.ext.dirs=/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.websphere.v85.core_1.0.100.v20141119_2034/wasJars com.ibm.ws.security.util.PasswordDecoder 被编码后的字符串
【ext.dirs的参数为调用com.ibm.ws.security.util.PasswordDecoder类所需要的jar所在目录,编码后的字符串以{xor}开头】
3.各用户密码对应的编码文件
$ WAS Admin Console Password:
/opt/WebSphere85/profiles/appprofile/properties/sas.client.props
com.ibm.CORBA.loginUserid=wsadmin
com.ibm.CORBA.loginPassword={xor}GyhrbiYGKmc=
$ WAS admin Console management
/opt/WebSphere85/profiles/dmgrprofile/config/cells/wascell/admin-authz.xml
$ DB password
/opt/WebSphere85/profiles/dmgrprofile/config/cells/wascell/security.xml
-------------------------------------------------------------------------------------------------------------------
反编码:
java -Djava.ext.dirs=/opt/IBM/WebSphere/AppServer/deploytool/itp/plugins/com.ibm.websphere.v85.core_1.0.100.v20141119_2034/wasJars com.ibm.ws.security.util.PasswordEncoder 密码