AEM 6.3에서 관리자 암호를 재설정하는 방법
AEM 6.3에서 관리자 암호를 재설정하는 방법을 알아봅니다. 먼저 AEM을 중지해야 합니다.
설명 description
환경
Adobe Experience Manager 6.4, 6.5
문제/증상
관리자 암호를 분실하여 재설정해야 합니다.
해결 방법 resolution
암호를 재설정하려면 다음 단계를 따르십시오.
- 서버 명령 프롬프트에 다음 명령을 입력합니다(경로를 AEM segmentstore에 대한 경로로 바꾸기). 다음 단계를 실행하기 전에 AEM을 중지해야 합니다.
java -jar oak-run-*.jar console path/to/crx-quickstart/repository/segmentstore --read-write ":load admin-reset.groovy" - 다음을 입력하십시오.
:load admin-reset63.groovy - Enter 키를 누르면 스크립트는 관리자 암호를 자동으로 찾아 관리자로 변경합니다.
- 출력을 검토하면
Found admin node : SegmentNodeBuilder{path=/home/users/some/path}이(가) 표시됩니다. - AEM을 시작합니다.
추가 정보
필요한 항목:
- oak-run jar
admin-reset.groovy스크립트(.txt 다운로드/제거 또는 콘텐츠에서 생성)
다운로드
admin-reset.groovy
import org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil
import org.apache.jackrabbit.oak.spi.commit.CommitInfo
import org.apache.jackrabbit.oak.spi.commit.EmptyHook
class Global {
static adminNode = null ;
}
void findAdminNode(ub) {
if (ub.hasProperty( "rep:principalName" )) {
if ( "rep:principalName = admin" .equals(ub.getProperty( "rep:principalName" ).toString())) {
Global.adminNode = ub;
}
}
ub.childNodeNames.each { it ->
if (Global.adminNode == null ) {
findAdminNode(ub.getChildNode(it));
}
}
}
ub = session.store.root.builder();
findAdminNode(ub.getChildNode( "home" ).getChildNode( "users" ));
if (Global.adminNode) {
println( "Found admin node: " + Global.adminNode.toString());
Global.adminNode.setProperty( "rep:password" , PasswordUtil.buildPasswordHash( "admin" ));
session.store.merge(ub, EmptyHook.INSTANCE, CommitInfo.EMPTY);
} else {
println( "Could not find admin node." );
}