Pourquoi a et o dans samAccountName peuvent-ils être remplacés par des danois å et ø?


27

Un collègue vient de me démontrer que les comptes de notre test AD ont pu s'authentifier lors du remplacement de chaque acaractère de leur samAccountName par un caractère danois å(ASCII 134 / å).

Par exemple, l'utilisateur <domain>\aaapeut s'authentifier en tant que ååå.

J'ai essayé de reproduire cela dans un W2K12R2 AD fraîchement provisionné (serveur unique, toutes les valeurs standard), et cela fonctionne aussi là-bas. J'ai créé un compte aaa(sans jamais toucher la lettre ådans le processus, pour que rien ne contienne å) et j'ai couru:

PS C: \ Users \ Administrator> runas / user: ååå notepad

Entrez le mot de passe pour ååå:

Tentative de démarrage du bloc-notes en tant qu'utilisateur "DEV-DLI \ ååå" ...

PS C: \ Users \ Administrator>

ce qui a provoqué le démarrage du bloc-notes, fonctionnant comme aaa.

Il en va de même pour ole caractère danois ø, tandis que le dernier caractère spécial danois æne semble correspondre à aucun autre caractère. Avec l'utilisateur aaadans AD, essayer de créer un utilisateur avec samAccountName åååéchouera, vous en informant The user logon name you have chosen is already in use (...).

J'ai googlé comme un fou, mais je n'ai pas pu savoir ce qui se passe. Quelqu'un at-il des indices sur la raison pour laquelle cela fonctionne?


5
Le caractère ædoit correspondre à ae(la lettre asuivie de la lettre e), FWIW.
HopelessN00b

4
Le caractère ån'existe pas en ASCII.
TRiG

1
Oui. Nitpick, mais "ASCII 134" n'existe pas, car ASCII ne monte que jusqu'à 127.
hobbs

1
Selon 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.Il ressemble à åISO 8859-1 # 229 et à øISO 8859-1 # 248.
jayhendren

2
En tant que natif danois, je peux vous dire que cela n'a pas de sens pour moi non plus. Il n'y a pas de substitut ASCII pour les lettres æ et ø. Il existe des substituts fréquemment utilisés, mais ils ne sont pas des orthographes valides et, dans certains cas, produisent un mot entièrement différent. Dans le cas de å, il a été ajouté à l'alphabet il y a moins d'un siècle, et l'utilisation de l'orthographe ancienne n'introduit aucune ambiguïté. Cependant l'ancienne orthographe serait d'utiliser aa au lieu de å. Substituer un seul a à la lettre å n'est pas une orthographe correcte.
kasperd

Réponses:


30

C'est par conception. En bref, Active Directory mappe les caractères accentués / diacritiques à leur forme "simple". Veuillez consulter l'article suivant du support Microsoft.

Comportement de connexion Windows si votre nom d'utilisateur contient des caractères accentués ou d'autres signes diacritiques :

Si votre nom d'utilisateur dans le service d'annuaire Active Directory contient un ou plusieurs caractères comportant des accents ou d'autres signes diacritiques, vous pouvez constater que vous n'avez pas besoin d'utiliser le signe diacritique lorsque vous tapez votre nom d'utilisateur pour vous connecter à Windows. Vous pouvez vous connecter en utilisant la forme simple du ou des caractères. Par exemple, si votre nom d'utilisateur dans Active Directory est jésush, vous pouvez taper jesush dans la zone Nom d'utilisateur de la boîte de dialogue Connexion à Windows pour vous connecter à Windows.

Ce problème se produit de sorte que dans les situations où vous devez vous connecter à Windows à partir d'un ordinateur sur lequel le mappage de clavier préféré n'est pas installé, vous pouvez toujours vous connecter à Windows en utilisant votre nom d'utilisateur sans les signes diacritiques.


13
Je ne suis pas un fan de Microsoft, mais dans ce cas, je suis vraiment impressionné par le fait que la société américaine ait vu les problèmes avec les entrées de clavier comme le vrai problème et les aborde de manière assez élégante.
Danubian Sailor

20
@ РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ Meilleure combinaison de nom d'utilisateur et de commentaire que je n'ai pas encore vu ici, au fait.
HopelessN00b

2
On se demande quel genre de trous de sécurité ils auraient pu laisser derrière en faisant cela :)
hobbs

5
En fait, ce ne sont pas des signes diacritiques, ce sont des lettres entièrement séparées. Appeler ø an o avec une marque diacritique a autant de sens que d'appeler q an o avec une marque diacritique. En réalité, o, q et ø sont trois lettres différentes, il se trouve que deux d'entre elles sont en ASCII et une ne l'est pas. Être en ASCII ou non ne fait pas partie de la définition d'une marque diacritique. Mais être en ASCII ou non peut faire une différence dans la facilité de connexion.
kasperd

7
@kasperd Cela dépend également de la langue; en suédois, 'ä' est sa propre lettre, en allemand c'est un 'a' avec un tréma comme signe diacritique.
beerbajay

14

En plus de la référence de @ jscott (+1) et un peu trop long pour un commentaire: quelque chose de similaire est fait avec le cas, car bien que le nom d'utilisateur soit stocké dans le bon cas, vous pouvez vous connecter avec un nom d'utilisateur dans tous les petits, supérieurs et même cas mixte. HBruijn = hbruijn = HbRuIjN, AD est sensible à la casse mais n'est pas sensible à la casse dans certains des champs.

Le terme correct (en informatique le plus souvent vu dans la configuration de la base de données) est Collation et c'est ce qui régit l'ordre, la correspondance et l' équivalence canonique . Les règles de classement dépendent généralement des paramètres régionaux.

Les sites d'intérêt peuvent être https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspx et http://www.unicode.org/reports/tr10/# Collation_And_Code_Chart_Order

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.