Коллега только что продемонстрировал мне, что учетные записи в нашем тестовом AD могли проходить аутентификацию при замене каждого aсимвола в их samAccountName на датский символ å(ASCII 134 / å).
Например, пользователь <domain>\aaaможет аутентифицироваться как ååå.
Я попытался воспроизвести это в недавно подготовленном W2K12R2 AD (один сервер, все стандартные значения), и он тоже работает там. Я создал учетную запись aaa(никогда не касаясь буквы åв процессе, так что ничего не содержит å) и запустил:
PS C: \ Users \ Администратор> runas / user: рабочий блокнот
Введите пароль для входа:
Попытка запустить блокнот как пользователь "DEV-DLI \ ååå" ...
PS C: \ Users \ Администратор>
что вызвало запуск блокнота, работающего как aaa.
То же самое относится oи к датскому персонажу ø, в то время как последний датский специальный символ æне соответствует ни одному другому персонажу. Когда пользователь aaaв AD, попытка создать пользователя с samAccountName åååне удастся, сообщив вам об этом The user logon name you have chosen is already in use (...).
Я гуглил как сумасшедший, но не смог выяснить, что происходит. У кого-нибудь есть намеки на то, почему это работает?
åне существует в ASCII.
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.
æдолжен соответствоватьae(буква,aза которой следует букваe), FWIW.