从WebSphere当中恢复密码

WebSphere会在配置文件(一堆的XML)当中存放各种密码(包括数据源、认证别名等等),例如在$WAS_Profile_HOME\config\cells\security.xml文件里面有类似”<authDataEntries xmi:id=”JAASAuthData_1238489272531″ alias=”myNode01/oracleDBA” userId=”oraadmin” password=”{xor}bm1sa2pp”/>”,就是存放认证别名为oracleDBA的用户名和密码。

可以看到在这里密码被重新编码(encode)了,编码的方式是XOR(eXclusive OR异或),很明显这种并不是一种强加密的算法,仅仅是一种编码而已,所以准确来说WebSphere为了避免密码被明文记录,只是很简单地“编码”(encode)而不是“加密”(encrypt)。

万一阁下一个不小心忘记了存放在WebSphere里面的密码,但是又想恢复过来的话,WebSphere这种只是编码而不是加密的存放密码形式,就帮助了你了。当然如果你想干坏事的话,WebSphere也算是给自己留下了一个“后门”了 -_-b。嘿嘿嘿,不要以为IBM那帮老爷子就是这么懒,如果阁下真的是要对存放在WebSphere配置文件里面的密码要加密的话(对于广大客户肯定是有这个诉求的),其实IBM也提供了一种自定义加密算法的插件形式去解决这个问题的,详情可以参考这个链接,在这里就不对这个问题进行展开讨论了。

好了,现在就对各个版本的WAS的密码编码和反编码进行讨论:

WAS 5.X的编码:

> cd $WAS_INSTALL_DIR/lib
> ../java/bin/java -cp securityimpl.jar:iwsorb.jar com.ibm.ws.security.util.PasswordEncoder 123456

WAS 5.X的反编码:

> cd $WAS_INSTALL_DIR/lib
> ../java/bin/java -cp securityimpl.jar:iwsorb.jar com.ibm.ws.security.util.PasswordDecoder {xor}bm1sa2pp

WAS 6.0的编码:

> cd $WAS_INSTALL_DIR/lib
> ../java/bin/java -cp securityimpl.jar:iwsorb.jar::ras.jar:wsexception.jar:bootstrap.jar:emf.jar:ffdc.jar com.ibm.ws.security.util.PasswordEncoder 123456

WAS 6.0的反编码:

> cd $WAS_INSTALL_DIR/lib
> ../java/bin/java -cp securityimpl.jar:iwsorb.jar::ras.jar:wsexception.jar:bootstrap.jar:emf.jar:ffdc.jar com.ibm.ws.security.util.PasswordDecoder {xor}bm1sa2pp

WAS 6.1的编码:

> cd $WAS_INSTALL_DIR/bin\ProfileManagement\plugins\com.ibm.websphere.v61_6.1.200
> java -cp ws_runtime.jar com.ibm.ws.security.util.PasswordEncoder 123456

WAS 6.1的反编码:

> cd $WAS_INSTALL_DIR/bin\ProfileManagement\plugins\com.ibm.websphere.v61_6.1.200
> java -cp ws_runtime.jar com.ibm.ws.security.util.PasswordDecoder  {xor}bm1sa2pp

以上内容参考转载自robertmaldon

当然,如果你觉得很麻烦的话,其实也有一个网站直接帮你解码:WebSphere Password Decoder

在PowerBlade刀片服务器上面安装SuSe

作为一个卖刀片的软件工程师,今天很无奈地在PowerBlade上面安装了SuSe 10 for PowerPC。步骤非常简单,主要是要有耐心和忍受刀箱强烈的噪音。

事前准备:PowerBlade刀片服务器(刀箱+若干刀片),SuSe安装介质

1)首先是刀箱要加电,废话,不加电干个鸟啊?刀片可以不上电先;然后放入安装介质到DVD驱动器里面;

2)然后网线连接登录管理模块网口和你的Laptop,找不到口的就不要装机了;登录管理模块,缺省是http://192.168.70.125,用户名是USERID,密码是PASSW0RD,注意是0不是O,注意大小写;

3)选择超时时间5 minutes,然后点continue;

4)在菜单选Blade Tasks->Configuration,在右侧选Boot Sequence,点击选择目标刀片,进去界面后,选择1st Device是CDROM,点Save保存;

5)左侧菜单Blade Tasks->Remote Control,右侧选Start Remote Control,然后开始Load Java,注意建议使用JRE是1.4.2以上,6.0以下版本。我刚好是6.0的,所以程序会很弱智地帮我上网“update”了一个1.4.2的JRE下来;

6)接收一堆IBM Java证书之后,Change KVM/Media Tray Owner为你所需的刀片;
其实如果你身边就是刀箱的话,直接按刀片上面的按钮就可以切换显示和CDROM的所属,完全可以略过5)和6),哈哈,受骗了;

7)左侧菜单Blade Tasks->Serial Over LAN,右侧Serial Over LAN Configuration,选择开启SOL,Serial Over LAN=>Enable,Tranport Parameters:Accumulate timeout = 5 msec,Send Threshold = 250 bytes,Retry count = 3,Retry Interval 250 msec。特殊键设置:’Enter CLI’ key sequence = ^[(,’Reset blade’ key sequence = ^[R^[r^[R

8)用命令行或者putty工具telnet到192.168.70.125,输入USERID和PASSW0RD之后,在system>提示符下面输入power -on -c -T blade[2],其中2表明刀片所在的槽位号,这样刀片服务器就开始上电工作;

9)自检过后,就是光盘启动,然后就是进入SuSe的安装,如果这个都不会,那么通篇可以省略不用看了。安装过程中,主要还是自检和引导的时间比较长,安装软件包的时间反而不算长,40分钟搞定。

作为一个软件工程师,又做了一次硬件的support。