AEM 6.3에서 관리자 암호를 재설정하는 방법

설명

관리자 암호를 잊어버려서 재설정해야 합니다.


환경


AEM 6.4,6.5

해상도

단계

  1. 서버 명령 프롬프트에서 다음 명령을 입력합니다(경로를 AEM segmentstore의 경로로 바꾸기).AEM은 아래 단계를 실행하기 전에 중지해야 합니다.

java -jar oak-run-*.jar console path/to/crx-quickstart/repository/segmentstore --read-write ":load admin-reset.groovy"

  1. 다음을 입력합니다.
:load admin-reset63.groovy
  1. Enter 키를 누르면 스크립트가 자동으로 관리자 암호를 찾아 Admin으로 변경합니다.
    결과를 검토하면 다음과 같이 표시됩니다.

    Found admin node : SegmentNodeBuilder{path=/home/users/some/path}
  2. AEM 시작



추가 정보


필요한 항목:

  • oak-run jar
  • admin-reset.groovy 스크립트(다운로드/제거 .txt 또는 컨텐츠에서 만들기)

다운로드

파일 가져오기

admin-reset.groovy

  1. 가져오기 org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil
  2. 가져오기 org.apache.jackrabbit.oak.spi.commit.CommitInfo
  3. 가져오기 org.apache.jackrabbit.oak.spi.commit.EmptyHook
  4.  
  5. 클래스 글로벌 {
  6.     정적 adminNode = null;
  7. }
  8.  
  9. void findAdminNode(ub) {
  10.     if (ub.hasProperty()"rep:principalName") {)
  11.         if ("rep:principalName = admin".equals(ub.getProperty()"rep:principalName").toString()) {
  12.             Global.adminNode = ub;
  13.         }
  14.     }
  15.     ub.childNodeNames.each { it -
  16.         if (Global.adminNode == null)
  17.             findAdminNode(ub.getChildNode(it));
  18.         }
  19.     }
  20. }
  21.  
  22. ub = session.store.root.builder();
  23. findAdminNode(ub.getChildNode("home").getChildNode("users"));
  24.  
  25. if (Global.adminNode) {
  26.     println("관리 노드를 찾았습니다. " + Global.adminNode.toString();
  27.     Global.adminNode.setProperty("rep:password", PasswordUtil.buildPasswordHash("admin"));
  28.     session.store.merge(ub, EmptyHook.INSTANCE, CommitInfo.EMPTY);
  29. } else {
  30.     println("관리 노드를 찾을 수 없습니다.");
  31. }

이 페이지에서는