본문 바로가기

프로그래밍/ORACLE

[WebLogic] 10.3.3(11g) 콘솔 암호 분실시

WebLogic의 콘솔 계정 관리는 암호는 MD5화 되어(32자리라서 그렇게 생각했는데 맞는지는 잘 모르겠네요.)
컴파일 된 특정 파일 내에 저장이 됩니다.
새로운 암호를 MD5로 Encode해서 넣어보았지만 컴파일 과정을 거치지 않아서 그런지 변경은 되지 않더군요.
외국 사이트를 찾아보던 중 방법을 발견하였습니다.
구 버전과는 아주 약간 상이한 점이 있으니 주의바랍니다.

1. 시작 - CMD
2. 도메인 디렉토리로 들어간다. ( 도메인 디렉토리 가정) c:\oracle\middleware\domain\test ) 
3. 도메인 디렉토리 내의 bin 디렉토리의 setEnv.bat 또는 setDomainEnv.bat 를 실행한다 - CLASSPATH & PATH 재설정 (cd /bin)
4. 설정이 완료되면 자동으로 다시 도메인 디렉토리로 돌아오게 된다.
5. 도메인 디렉토리 내의 security 디렉토리로 들어간다. (cd /security)
6. security 디렉토리 내의 DefaultAuthenticatorinit.ldift 파일을 백업해 놓고(!!) 원본을 삭제한다.
7. security 디렉토리 내에서 CMD창에 다음과 같이 입력한다
java weblogic.security.utils.AdminAccount ID PW .
(원문 부분과 약간 다릅니다. 경험상 이렇게 하는게 맞더군요.
ID부분에 사용할 새 ID, PW부분에 사용할 새 PW를 입력합니다. 마지막 .과 띄어쓰기 주의)
8. 그렇게 되면 새로운 DefaultAuthenticatorinit.ldift 파일이 생성됨
9. 확인 후 도메인 디렉토리 내에서 cd /servers/AdminDomain(사용자마다다릅니다)/data/ldap 폴더로 들어감.
10. DefaultAuthenticatormyrealmInit.initialized 파일을 백업 후 원본을 삭제한다.
11. AdminServer를 Restart한다.

----이 과정이 제대로 되었다면 새로운 계정과 암호로 기존 도메인 콘솔이 접근 가능합니다---

만약 오류가 난다면,
본문에서는
-Dweblogic.management.allowPasswordEcho=true
구문을 setDomainEnv.bat에 넣어보라고 나와있습니다만..
왠만해서는 오류가 나지않으니 한번 해보시고 궁금하신점있으시면 댓글부탁드립니다.


출처 : http://niallcblogs.blogspot.com/2009/07/recovering-weblogic-domain.html
        + 경험부분 추가