Frage Warum können a und o in samAccountName durch dänisch å und ø ersetzt werden?


Ein Kollege hat mir gerade gezeigt, dass Accounts in unserem Test AD sich beim Ersetzen von jedem authentifizieren konnten ein Zeichen in ihrem samAccountName mit dänischem Zeichen ein (ASCII 134 / å).

Z.B. der Benutzer <domain>\aaa kann als authentifizieren ååå.

Ich habe versucht, dies in einem neu bereitgestellten W2K12R2 AD (Single Server, alle Standardwerte) zu reproduzieren, und es funktioniert auch dort. Ich habe ein Konto erstellt aaa (Berühren Sie niemals den Brief ein dabei, so dass nichts enthält å) und rannte:

PS C: \ Benutzer \ Administrator> runas / user: ååå Notizblock

Geben Sie das Passwort für ååå ein:

Versuch, den Editor als Benutzer "DEV-DLI \ ååå" zu starten ...

PS C: \ Benutzer \ Administrator>

was dazu führte, dass Notepad gestartet wurde, lief als aaa.

Das Gleiche gilt für O und dänischer Charakter O, während der letzte dänische Sonderchar æ scheint keinem anderen Charakter zu entsprechen. Mit Benutzer aaa Versuchen Sie in AD, einen Benutzer mit samAccountName zu erstellen ååå wird scheitern und Sie darüber informieren The user logon name you have chosen is already in use (...).

Ich habe gegoogelt wie ein Verrückter, aber ich konnte nicht herausfinden, was vor sich geht. Hat jemand Hinweise, warum das funktioniert?


27
2018-01-23 12:58


Ursprung


Der Charakter æ sollte entsprechen ae (der Buchstabe a gefolgt von dem Brief e), FWIW. - HopelessN00b
Der Charakter å existiert nicht in ASCII. - TRiG
Ja. Nitpick, aber "ASCII 134" gibt es nicht, weil ASCII nur bis 127 geht. - hobbs
Gemäß 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. Es sieht aus wie å ist ISO 8859-1 # 229 und ø ist ISO 8859-1 # 248. - jayhendren
Als dänischer Muttersprachler kann ich Ihnen sagen, dass es für mich auch keinen Sinn ergibt. Es gibt keinen ASCII-Ersatz für die Buchstaben æ und ø. Es gibt einige häufig verwendete Ersatzzeichen, aber sie sind keine gültigen Schreibweisen und erzeugen in einigen Fällen ein völlig anderes Wort. Im Falle von å wurde es vor weniger als einem Jahrhundert zum Alphabet hinzugefügt, und die Verwendung der alten Schreibweise führt zu keiner Mehrdeutigkeit. Die alte Schreibweise würde jedoch aa anstelle von å verwenden. Ein einzelnes a für den Buchstaben å zu ersetzen ist keine korrekte Schreibweise. - kasperd


Antworten:


Das ist Absicht. Kurz gesagt, Active Directory ordnet die akzentuierten / diakritischen Zeichen ihrer "einfachen" Form zu. Sehen Sie sich den folgenden Microsoft Support-Artikel an.

Windows-Anmeldeverhalten, wenn Ihr Benutzername Zeichen mit Akzenten oder anderen diakritischen Zeichen enthält:

Wenn Ihr Benutzername in dem Active Directory-Verzeichnisdienst ein oder mehrere Zeichen enthält, die Akzente oder andere diakritische Zeichen enthalten, stellen Sie möglicherweise fest, dass Sie das diakritische Zeichen nicht verwenden müssen, während Sie Ihren Benutzername eingeben, um sich an Windows anzumelden. Sie können sich anmelden, indem Sie die einfache Form des Zeichens oder der Zeichen verwenden. Wenn Ihr Benutzername in Active Directory beispielsweise jésush lautet, können Sie jesush in das Feld Benutzername im Dialogfeld An Windows anmelden eingeben, um sich bei Windows anzumelden.

Dieses Verhalten tritt auf, wenn Sie sich in Situationen, in denen Sie sich von einem Computer aus anmelden müssen, auf dem die bevorzugte Tastaturzuordnung nicht installiert ist, weiterhin mit Ihrem Benutzernamen ohne die diakritischen Zeichen bei Windows anmelden können.


30
2018-01-23 13:05



Ich bin kein Fan von Microsoft, aber in diesem Fall bin ich sehr beeindruckt, dass die US-Firma die Probleme mit Tastatureingaben als das eigentliche Problem gesehen und auf eine so elegante Weise angesprochen hat. - Danubian Sailor
@ РСТȢѸȢѸХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ Beste Kombination von Benutzername und Kommentar Ich habe übrigens hier noch zu sehen. - HopelessN00b
Man fragt sich, welche Art von Sicherheitslücken sie dabei zurückgelassen haben :) - hobbs
Eigentlich sind das keine diakritischen Zeichen, sondern ganz getrennte Buchstaben. Der Aufruf von ø an o mit einem diakritischen Zeichen ist so sinnvoll, als würde man q o mit einem diakritischen Zeichen aufrufen. In Wirklichkeit sind o, q und ø drei verschiedene Buchstaben, es passiert einfach, dass zwei von ihnen in ASCII sind und einer von ihnen nicht. In ASCII zu sein oder nicht, ist nicht Teil der Definition eines diakritischen Zeichens. Aber in ASCII zu sein oder nicht, kann einen Unterschied darin machen, wie einfach es ist, sich anzumelden. - kasperd
@ Kasperd Dies ist auch sprachabhängig; auf Schwedisch ist "ä" ein eigener Buchstabe, auf Deutsch ein "a" mit einem Umlaut als diakritischem Zeichen. - beerbajay


Neben @jscotts Verweis (+1) und etwas zu lang für einen Kommentar: Etwas Ähnliches ist mit dem Fall erledigt, denn obwohl der Benutzername im richtigen Fall gespeichert ist, kann man sich mit einem Benutzernamen in allen kleinen, oberen und sogar gemischter Fall. HBruijn = hbruijn = HbRuIjN, AD ist Fall bewusst, aber nicht Groß-und Kleinschreibung in einigen Bereichen.

Der richtige Begriff (in der IT meist in Datenbankkonfiguration gesehen) ist Kollation und regiert das Ordnen, Zusammenpassen und kanonische Äquivalenz. Sortierregeln hängen normalerweise auch vom Gebietsschema ab.

Interessant sein kann https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspxund http://www.unicode.org/reports/tr10/#Collation_And_Code_Chart_Order


14
2018-01-23 13:51