Por que a e o em samAccountName podem ser substituídos por dinamarquês å e ø?


27

Um colega de trabalho acabou de demonstrar para mim que as contas em nosso teste AD foram capazes de autenticar ao substituir todos os acaracteres em seu samAccountName por dinamarquês å(ASCII 134 / å).

Por exemplo, o usuário <domain>\aaapode se autenticar como ååå.

Tentei reproduzir isso em um W2K12R2 AD recém-provisionado (servidor único, todos os valores padrão) e funciona lá também. Criei uma conta aaa(nunca tocando a letra åno processo, para que nada contenha å) e executei:

PS C: \ Usuários \ Administrador> runas / user: ååå notepad

Digite a senha para ååå:

Tentativa de iniciar o bloco de notas como usuário "DEV-DLI \ ååå" ...

PS C: \ Usuários \ Administrador>

o que causou o início do bloco de notas, executando como aaa.

O mesmo parece valer para oo personagem dinamarquês ø, enquanto o último caractere dinamarquês especial ænão parece corresponder a nenhum outro personagem. Com o usuário aaano AD, a tentativa de criar um usuário com samAccountName åååfalhará, informando isso The user logon name you have chosen is already in use (...).

Eu pesquisei como um louco, mas não consegui descobrir o que está acontecendo. Alguém tem alguma dica de por que isso funciona?


5
O caractere ædeve corresponder a ae(a letra aseguida pela letra e), FWIW.
HopelessN00b

4
O caractere ånão existe em ASCII.
TRiG 23/01

11
Sim. Nitpick, mas não há tal coisa como "ASCII 134", porque ASCII só vai até 127.
hobbs

11
De acordo com 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.Parece que åé ISO 8859-1 # 229 e øé ISO 8859-1 # 248.
Jayhendren

2
Como falante nativo de dinamarquês, posso dizer que também não faz sentido para mim. Não há substituto ASCII para as letras æ e ø. Existem alguns substitutos usados ​​com frequência, mas eles não são grafias válidas e, em alguns casos, produzem uma palavra totalmente diferente. No caso de å, ele foi adicionado ao alfabeto há menos de um século, e o uso da ortografia antiga não apresenta nenhuma ambiguidade. No entanto, a ortografia antiga seria usar aa em vez de å. Substituir um a pela letra å não é uma grafia correta.
kasperd

Respostas:


30

Isso ocorre por design. Em resumo, o Active Directory mapeia os caracteres acentuados / diacríticos para o formato "simples". Consulte o seguinte artigo de suporte da Microsoft.

Comportamento de logon do Windows se o seu nome de usuário contiver caracteres com acentos ou outras marcas diacríticas :

Se o seu nome de usuário no serviço de diretório do Active Directory contiver um ou mais caracteres com acentos ou outras marcas diacríticas, você poderá achar que não precisa usar a marca diacrítica ao digitar seu nome de usuário para fazer logon no Windows. Você pode fazer logon usando a forma simples do personagem ou caracteres. Por exemplo, se o seu nome de usuário no Active Directory for jésush, você poderá digitar jesush na caixa Nome de usuário na caixa de diálogo Logon no Windows para fazer logon no Windows.

Esse comportamento ocorre para que, nas situações em que você precise fazer logon no Windows a partir de um computador em que o mapeamento de teclado preferido não esteja instalado, você ainda possa fazer logon no Windows usando seu nome de usuário sem as marcas diacríticas.


13
Não sou fã da Microsoft, mas, nesse caso, estou realmente impressionado com o fato de a empresa americana ter visto os problemas com as entradas do teclado como o problema real e resolvê-lo de uma maneira tão elegante.
Danubian Sailor

20
@ РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ Melhor combinação de nome de usuário e comentário que eu ainda não vi aqui, a propósito.
HopelessN00b

2
Uma pergunta que tipo de falhas de segurança que poderiam ter deixado para trás, fazendo isso :)
hobbs

5
Na verdade, essas não são marcas diacríticas, são letras inteiramente separadas. Chamar ø an o com uma marca diacrítica faz tanto sentido quanto chamar q an o com uma marca diacrítica. Na realidade o, q e ø são três letras diferentes, acontece que duas delas estão em ASCII e uma delas não. Estar em ASCII ou não não faz parte da definição de uma marca diacrítica. Mas estar em ASCII ou não pode fazer uma diferença na forma como é fácil entrar.
kasperd

7
@kasperd Isso também depende do idioma; em sueco, 'ä' é sua própria letra, em alemão é um 'a' com um trema como sua marca diacrítica.
beerbajay

14

Além da referência de @ jscott (+1) e um pouco longa para um comentário: algo semelhante é feito com o caso, como se o nome de usuário estivesse armazenado no caso correto, você pode fazer logon com um nome de usuário em todas as letras pequena, superior e mesmo caso misto. HBruijn = hbruijn = HbRuIjN, O AD reconhece e diferencia maiúsculas de minúsculas em alguns campos.

O termo correto (em TI mais frequentemente visto na configuração do banco de dados) é Agrupamento e é o que governa a ordem, a correspondência e a equivalência canônica . As regras de agrupamento geralmente também dependem da localidade.

De interesse podem ser https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspx e http://www.unicode.org/reports/tr10/# Collation_And_Code_Chart_Order

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.