samAccountName의 a와 o를 danish å와 ø로 바꿀 수있는 이유는 무엇입니까?


27

동료가 테스트 AD의 계정 a이 samAccountName의 모든 문자를 덴마크어 문자 å(ASCII 134 / å)로 교체 할 때 인증 할 수 있음을 보여주었습니다 .

예를 들어 사용자 <domain>\aaa는로 인증 할 수 있습니다 ååå.

나는 새로 프로비저닝 된 W2K12R2 AD (단일 서버, 모든 표준 값)에서 이것을 재현하려고 시도했으며 거기에서도 작동합니다. 나는 계정을 만들고 aaa( å프로세스 에서 문자 를 만지지 마십시오 å.

PS C : \ Users \ Administrator> runas / user : ååå 메모장

ååå의 비밀번호를 입력하십시오.

사용자 "DEV-DLI \ ååå"로 메모장을 시작하려고 시도 중 ...

PS C : \ 사용자 \ 관리자>

메모장이 시작되어로 실행되었습니다 aaa.

마지막 덴마크어 특수 문자 는 다른 문자와 일치하지 않는 반면 o덴마크 문자 는 마찬가지입니다 . 사용자와 AD에서의 samAccountName을 가진 사용자를 만들려고 하면 그 알리는 실패합니다 .øæaaaåååThe user logon name you have chosen is already in use (...)

나는 미친 사람처럼 봤지만 무슨 일이 일어나고 있는지 알 수 없었습니다. 왜 이것이 작동하는지에 대한 힌트가 있습니까?


5
문자 æae(문자 a다음에 문자 e) FWIW 와 일치해야합니다 .
HopelessN00b

4
문자 å가 ASCII에 없습니다.
TRiG

1
네. Nitpick, 그러나 "ASCII 134"와 같은 것은 없습니다. 왜냐하면 ASCII는 127 개에 불과하기 때문입니다.
hobbs

1
에 따르면 man ascii: ASCII is the American Standard Code for Information Interchange. It is a 7-bit code. Many 8-bit codes (e.g., ISO 8859-1) contain ASCII as their lower half. The international counterpart of ASCII is known as ISO 646-IRV.그것은 åISO 8859-1 # 229 처럼 보이고 øISO 8859-1 # 248입니다.
jayhendren

2
덴마크어 원어민으로서 저에게도 말이되지 않는다고 말할 수 있습니다. æ 및 ø 문자에 대한 ASCII 대체는 없습니다. 자주 사용되는 대체 단어가 있지만 올바른 철자가 아니며 경우에 따라 완전히 다른 단어를 생성하는 경우도 있습니다. å의 경우, 그것은 1 세기 전에 알파벳에 추가되었으며, 오래된 철자를 사용한다고해서 모호함이 나타나지 않습니다. 그러나 오래된 철자는 å 대신 aa를 사용하는 것입니다. å 문자를 단일 a로 바꾸는 것은 올바른 철자가 아닙니다.
kasperd

답변:


30

이것은 의도적으로 설계된 동작입니다. 간단히 말해 Active Directory는 악센트 부호 / 대소 문자를 "단순"형식으로 매핑합니다. 다음 Microsoft 지원 기사를 참조하십시오.

사용자 이름에 악센트 또는 기타 발음 구별 부호가있는 문자가 포함 된 경우 Windows 로그온 동작 :

Active Directory 디렉터리 서비스의 사용자 이름에 악센트 또는 다른 발음 구별 부호가있는 하나 이상의 문자가 포함되어 있으면 Windows에 로그온하기 위해 사용자 이름을 입력 할 때 발음 구별 부호를 사용하지 않아도됩니다. 간단한 형태의 문자를 사용하여 로그온 할 수 있습니다. 예를 들어 Active Directory의 사용자 이름이 jésush 인 경우 Windows 로그온 대화 상자의 사용자 이름 상자에 jesush를 입력하여 Windows에 로그온 할 수 있습니다.

이 문제는 기본 키보드 매핑이 설치되어 있지 않은 컴퓨터에서 Windows에 로그온해야하는 상황에서 분음 부호없이 사용자 이름을 사용하여 Windows에 로그온 할 수 있도록하기 위해 발생합니다.


13
저는 Microsoft의 팬이 아니지만,이 경우 미국 회사가 키보드 입력 문제를 실제 문제로보고 매우 우아한 방식으로 처리한다는 사실에 깊은 감명을 받았습니다.
Danubian Sailor

20
@ РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ 내가 아직 여기에서 보지 못한 사용자 이름과 의견의 가장 좋은 조합.
HopelessN00b

2
이 작업을 수행하면 어떤 종류의 보안 구멍이 남았는지 궁금합니다. :)
hobbs

5
실제로는 분음 부호가 아니며 완전히 별개의 문자입니다. 분음 부호로 ø a o를 호출하면 분음 부호로 q a o를 호출하는 것만 큼 의미가 있습니다. 실제로 o, q 및 ø는 세 개의 다른 문자입니다. 두 문자가 ASCII로되어 있고 그 중 하나는 그렇지 않습니다. ASCII로되어 있는지 여부는 분음 부호 정의의 일부가 아닙니다. 그러나 ASCII인지 아닌지에 따라 로그인이 얼마나 쉬운 지에 차이가 생길 수 있습니다.
kasperd

7
@kasperd 언어에 따라 다릅니다. 스웨덴어로 'ä'는 자체 문자이며 독일어에서는 발음 구별 부호로 움라우트가있는 'a'입니다.
beerbajay

14

@jscott의 참조 (+1) 외에도 주석이 너무 길다 : 사용자 이름이 올바른 경우에 저장되어있는 경우에도 비슷한 경우가 발생합니다. 심지어 혼합 케이스. HBruijn = hbruijn = HbRuIjNAD는 대소 문자를 구분하지만 일부 필드에서는 대소 문자를 구분하지 않습니다 .

올바른 용어 (IT에서 데이터베이스 구성에 가장 많이 사용됨 )는 데이터 정렬 이며 순서, 일치 및 표준 동등성을 제어 합니다. 데이터 정렬 규칙은 일반적으로 로캘에 따라 다릅니다.

관심있는 것은 https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspxhttp://www.unicode.org/reports/tr10/#입니다. Collation_And_Code_Chart_Order

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.