소개
Active Directory에 저장된 개체는 복제 충돌로 인해 부실하거나 손상되거나 분리될 수 있습니다.
이 문서에서는 userAccountControl 특성의 "INTERDOMAIN_TRUST_ACCOUNT" 비트로 식별할 수 있는 트러스트 개체에 중점을 둡니다. 이 비트에 대한 자세한 내용은 userAccountControl 비트를 참조하세요.
증상
신뢰 관계는 다음과 같이 Active Directory에 표시됩니다.
-
후행 $문자가 부착된 사용자 계정입니다.
-
도메인 디렉터리 파티션의 시스템 컨테이너에 저장된 신뢰할 수 있는 TDO(도메인 개체)입니다.
중복 트러스트를 만들면 SAM(보안 계정 관리자) 계정 이름이 중복된 두 개의 개체가 만들어집니다. 두 번째 개체에서 SAM은 개체 이름을 $DUPLICATE-<Account RID>로 변경하여 충돌을 해결합니다. 중복 개체는 삭제할 수 없으며 "분리됨"이 됩니다.
참고 Active Directory 개체는 부모 컨테이너가 없는 Active Directory에 저장된 라이브 자식 개체를 나타낼 때 "분리됨"이라고 합니다. 이 용어는 일반적인 워크플로를 사용하여 삭제할 수 없는 Active Directory의 부실하거나 손상된 개체를 참조하는 데도 사용됩니다.
다음과 같은 두 가지 기본 부실 신뢰 시나리오가 있습니다.
-
시나리오 1: 충돌 상태의 사용자 신뢰
두 개의 포리스트가 있고 이전에 해당 포리스트의 도메인 간에 트러스트를 만든 시나리오에서 트러스트 사용자를 삭제해야 할 수 있습니다. 트러스트를 처음 만들 때 복제를 방해하는 문제가 발생했습니다. 관리자가 PDC(기본 도메인 컨트롤러) FSMO(유연한 단일 마스터 작업) 역할을 이전하거나 압수하고 다른 DC(도메인 컨트롤러)에서 트러스트를 다시 만들었을 수 있습니다.
나중에 Active Directory 복제가 다시 설정되면 두 트러스트 사용자가 동일한 DC에 복제되어 명명 충돌이 발생합니다. 트러스트 사용자 개체에 충돌(CNF)-mangled DN이 할당됩니다. 예를 들어:
CN=contoso$\0ACNF:a6e22a25-f60c-4f07-b629-64720c6d8b08,CN=Users,DC=northwindsales,DC=com
samAccountName도 엉망으로 표시됩니다.
$DUPLICATE-3159f
이름 충돌이 없는 개체는 정상으로 표시되고 제대로 작동합니다. 트러스트를 제거하고 다시 만들 수 있습니다.
-
시나리오 2: 분리된 사용자 신뢰
시나리오 1과 마찬가지로 트러스트 및 트러스트 파트너가 더 이상 존재하지 않지만 신뢰 사용자가 여전히 Active Directory 데이터베이스에 있는 경우 트러스트 사용자를 편집하거나 삭제해야 할 수 있습니다. 일반적으로 이러한 계정의 암호는 오래되어 보안 검사 도구에 의해 해당 계정에 플래그가 지정됩니다.
관리자가 트러스트의 특성을 편집하려고 할 때 발생하는 오류 메시지
키 특성을 변경하거나 분리된 트러스트 사용자 개체를 삭제할 수 없습니다. 개체를 보호하는 특성을 변경하려고 시도하면 다음 오류가 발생합니다.
오류 대화 상자 |
오류 메시지 |
Operation failed. 오류 코드: 0x209a 특성은 SAM(보안 계정 관리자)이 소유하므로 특성에 대한 액세스가 허용되지 않습니다.0000209A: SvcErr: DSID-031A1021, 문제 5003(WILL_NOT_PERFORM), 데이터 0 |
관리자가 개체를 제거하려고 하면 "액세스 거부됨"에 해당하는 오류 0x5 실패합니다. 또는 충돌하는 트러스트 개체가 Active Directory "도메인 및 트러스트" 스냅인에 표시되지 않을 수 있습니다.
오류 대화 상자 |
오류 메시지 |
Operation failed. 오류 코드: 0x5 액세스가 거부되었습니다.00000005:SecErr:DSID-031A11ED, 문제 4003(INSUFF_ACCESS_RIGHTS), 데이터 0. |
원인
이 문제는 신뢰 개체가 시스템이 소유하고 Active Directory 도메인 및 트러스트 MMC를 사용하는 관리자만 수정하거나 삭제할 수 있기 때문에 발생합니다. 이 기능은 의도적으로 수행됩니다.
해결 방법
Windows Server 2019 이상 버전의 Windows Server를 실행하는 도메인 컨트롤러에 2024년 5월 14일 Windows 업데이트를 설치한 후 이제 schemaUpgradeInProgress 작업을 사용하여 분리된 트러스트 계정을 삭제할 수 있습니다. 이렇게 하려면 다음 단계를 수행하세요.
-
도메인에서 분리된 트러스트 사용자 계정을 식별합니다. 예를 들어 이 출력은 LDP.exe. 는 트러스트 사용자를 식별하는 0x800userAccountControl 플래그를 표시합니다.
기본 'CN=northwindsales$,CN=Users,DC=contoso,DC=com'...
1개 항목 가져오기: Dn: CN=northwindsales$,CN=Users,DC=contoso,DC=com …primaryGroupID: 513 = ( GROUP_RID_USERS );
pwdLastSet: 2013년 4월 27일 오후 10:03:05 협정 세계시; sAMAccountName: NORTHWINDSALES$; sAMAccountType: 805306370 = ( TRUST_ACCOUNT ); userAccountControl: 0x820 = ( PASSWD_NOTREQD | INTERDOMAIN_TRUST_ACCOUNT ) ;… -
필요한 경우 부실 신뢰 계정 도메인의 도메인 관리자 계정을 포리스트 루트 도메인의 "스키마 관리자" 그룹에 추가합니다. (삭제에 사용되는 계정에는 스키마 NC 복제본의 루트에 있는 "Control-Schema-Master" 컨트롤 액세스 권한이 있어야 하며 고아 계정을 보유한 DC에 로그온할 수 있어야 합니다.)
-
2024년 5월 14일 이상 Windows 업데이트가 부실 신뢰 계정 도메인의 쓰기 가능한 DC에 설치되어 있는지 확인합니다.
-
스키마 관리자 계정을 사용하여 해당 DC에 로그온합니다. 2단계에서 "스키마 관리자" 그룹에 계정을 추가한 경우 해당 계정을 사용합니다.
-
SchemaUpgradeInProgress를 수정하고 개체를 삭제하도록 LDIFDE 가져오기 파일을 준비합니다. 예를 들어 아래 텍스트를 LDIFDE 가져오기 파일에 붙여넣어 1단계에서 식별된 개체를 삭제할 수 있습니다.
dn:
changetype: modify add: SchemaUpgradeInProgress SchemaUpgradeInProgress: 1 -dn: CN=northwindsales$,CN=Users,DC=contoso,DC=com
changetype: deleteLDIFDE 구문에 대한 힌트:
-
하이픈("-")만 있는 줄은 "수정" 변경 유형에서 일련의 변경 내용을 종료하므로 매우 중요합니다.
-
하이픈이 있는 줄 뒤의 빈 줄도 중요합니다. 이는 개체의 모든 수정이 완료되고 변경 내용을 커밋해야 한다는 LDIFDE를 표시하기 때문에 중요합니다.
-
-
다음 구문을 사용하여 LDIFDE 파일을 가져옵니다.
ldifde /i /f nameOfLDIFFileCreatedInStep5.txt /j
참고
-
/i 매개 변수는 가져오기 작업을 나타냅니다.
-
/f 매개 변수 뒤에 파일 이름이 잇는 것은 변경 내용이 포함된 파일을 나타냅니다.
-
로그 파일 경로 뒤에 오는 /j 매개 변수는 업데이트 결과와 함께 ldif.log 및 ldif.err 파일을 작성합니다. 프로시저가 작동했는지 여부와 그렇지 않은 경우 모드 중에 발생한 오류입니다.
-
마침표 지정(".") /j 매개 변수를 사용하면 현재 작업 디렉터리에 로그가 작성됩니다.
-
-
필요한 경우 이전에 2단계에서 추가한 도메인 관리자를 "스키마 관리자" 그룹에서 제거합니다.