weblogic控制台密码丢失问题

再谈控制台密码丢失问题(我的调试过程)
提交时间: Sep 12, 2005 8:23:44 PM
加5分   回复   发消息

关于WEBLOGIC控制台密码丢失这个问题,在论坛里已经问的很多了,我也曾为这个问题困惑过很久,大部分回答不外乎以下两种:
方法一:
1. 备份当前domain的config.xml、fileRealm.properties和SerializedSystemIni.dat
2. 新建一个叫fileRealm.properties.src的文件,其内容为:user.system=weblogic ,其中weblogic就是您想要的明文的密码
3. 打开dos窗口/控制台,cd到当前domain的目录,调用setEnv脚本设置相关的环境变量,然后执行:
java weblogic.security.acl.internal.FileRealm fileRealm.properties SerializedSystemIni.dat
4. 将原来的fileRealm.properties中acl、group相关的条目拷回到新生成的fileRealm.properties里边
5. 将config.xml里边加密过的密码(以{3DES}开头)改成明文的。
6. 启动weblogic

这是BEA网站FAQ里面给出的解决方案,论坛里好多人回答丢失8.1密码时给的也是这个答案。但是我在WLS8.1上却没有调试通过,按它的步骤密码根本没变。郁闷之极,我把WLS6.1下下来试了试,一下通过了。因此我认为这个解决方案是针对WLS6.1的(因为上面写着是修改system用户,WLS6.1默认的用户是system)。如果有哪位大侠在8.1上调通过,请告我一声,呵呵

方法二:
要在WebLogic域中恢复管理员密码:

    * 在命令行,更改目录到该域,并运行setEnv脚本设置PATH和CLASSPATH。
    * 运行java weblogic.security.utils.AdminAccount ,创建新的DefaultAuthenticatorInit.ldift。
    * 从//ldap子目录中删除初始化状态文件DefaultAuthenticatormyrealmInit.initialized。
    * 利用新的用户身份重新启动服务器。
    * 要修改旧的管理员用户身份,登录管理控制台(可选)。
    这是论坛的一个牛人给出的另一个解决丢失控制台密码的方案,网络上的一些解决方案也是按这个回答给的,但是我按着这个步骤在WLS8.1上调试也没有通过,按着这个步骤密码还是没变。

在郁闷困惑之下我又搜出了BEA网站的针对WLS7.0和8.1控制台密码丢失的一个解决方案:
内嵌的 LDAP:丢失管理密码(WLS 7.0 和 WLS 8.1)

管理密码已丢失。

解决方法:
    由于没有覆盖用户 ID 密码的方法,因此必须创建新的管理员用户 ID,然后使用它来启动 WebLogic。以下是丢失管理员密码后恢复管理用户的步骤。
假定创建了一个用户 ID“adminuser”,密码是“weblogic”

将目录更改为域目录:cd mydomain
java -cp D:/bea/weblogic615/server/lib/weblogic.jar weblogic.security.utils.AdminAccount adminuser weblogic . (注意:命令的末尾有一个句点)
rm myserver/ldap/DefaultAuthenticatormyrealmInit.initialized
rm boot.properties(如果有)
以“adminuser”为管理员用户 ID 重新启动管理服务器

这个方案是针对WLS7.0和8.1的,却是用6.1做的测试,当时对这个方案就没抱多大希望,而且到第二步时就开始报错了(实际上是我的环境变量没设好当时。)我看这个方法和那个牛人的方法大体是一致的,只不过多了一个删除boot.properties这个步骤,于是我按照方法二加上删除boot.properties这一步,竟然成功了!!我原来的用户名和密码是weblogic,123456789,现在的用户名和密码是wang,wang123.为了稳妥起见,我就又做了几次试验,却让我大失所望,没有一次成功的。我一直想把它改成weblogic,weblogic,没有成功;改成wang,wang也不行,后来实在太晚了,不睡第二天就爬不起来了,于是带着只成功一次的点点喜悦和失败后的失落昏昏睡去。

第二天到公司后不死心啊,按着昨天的步骤再来一遍,竟然成功了。用户名改成了wang,wang;后来又改成wang123,wang123;aaa,aaa;屡试不爽啊,按照网站的方法也成功了,第二步没报错。
因为家里面的操作系统是XP的,而公司的是2000Server的,难道是操作系统的问题?我又开始纳闷了,但是在XP上也调通了一次啊。后来看了看网站的那个方法,又结合自己在家和在公司调试的对比,差不多明白了,昨晚后来调试的用户名都是创建过的,而在公司调试的用户名都是新建的,新建的可以,但是用原来的用户名就不可以了。为了验证自己的想法,晚上回来一调,果然是这样。

我调试的环境是XP+WLS6.1,XP+WLS8.1,2000Server+WLS8.1,通过这么长时间调试的过程,得出以下的结论:
   1.方法一是针对WLS6.1的,对WLS8.1是不适合的(个人看法);
   2.方法二和BEA网站给的那个方法对WLS8.1都是适用的,我调试通过了。
   3.方法二和BEA网站那个方法本质是一样的,都是通过创建新的管理员用户ID来启动WebLogic。当时调试方法二时当时没想到是创建新帐号,还以为是创建新密码呢,用的都是原来的用户名,结果到控制台一试,密码没变,呵呵
   4.新的管理员用户名不能和老的用户名一样,否则会不成功。
   5.在调试的过程中我还发现一个现象就是创建新用户后,原来的用户名和密码还能用。即使启动时手工输入的用户名和密码是aaa,aaa,那么控制台处原来的用户名和密码wang,wang或weblogic,weblogic也是可用的。
   6.注意的地方:在进行第二步时,后面那个点是不可少的。
    
丢失控制台密码问题曾经是一个困扰了我N久的问题,解决这个问题不是为了现在救急,而是为了以防万一。经过无数次的失败,终于调通了,可能我比较苯吧,呵呵,花的时间比较长,但总算解决了心头的一大难题。
上面那些内容是我在调试的过程和自己的一些想法,说了不少废话,有不当之处还请各位高手批评指正。


该帖由 TJdream 在 Sep 22, 2005 4:55 PM 编辑过


你可能感兴趣的:(System技术积累,weblogic,domain,java,system,xp,server)