¿Por qué se pueden reemplazar ayo en samAccountName con danés å y ø?


27

Un compañero de trabajo acaba de demostrarme que las cuentas en nuestra prueba AD pudieron autenticarse al reemplazar cada acarácter en su SamAccountName con carácter danés å(ASCII 134 / å).

Por ejemplo, el usuario <domain>\aaapuede autenticarse como ååå.

Intenté reproducir esto en un AD W2K12R2 recién provisto (servidor único, todos los valores estándar), y funciona allí también. Creé una cuenta aaa(nunca toqué la letra åen el proceso, para que nada contenga å) y ejecuté:

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

Ingrese la contraseña para ååå:

Intentando iniciar el bloc de notas como usuario "DEV-DLI \ ååå" ...

PS C: \ Usuarios \ Administrador>

lo que provocó el bloc de notas para iniciar, corriendo tan aaa.

Lo mismo parece ser cierto para oel personaje danés ø, mientras que el último personaje especial danés æno parece corresponder a ningún otro personaje. Con el usuario aaaen AD, intentar crear un usuario con samAccountName åååfallará, informándole de eso The user logon name you have chosen is already in use (...).

He buscado en Google como un loco, pero no he podido averiguar qué está pasando. ¿Alguien tiene alguna pista de por qué esto funciona?


55
El carácter ædebe corresponder a ae(la letra aseguida de la letra e), FWIW.
HopelessN00b

44
El personaje åno existe en ASCII.
TRiG

1
Sí. Nitpick, pero no existe el "ASCII 134", porque el ASCII solo sube a 127.
hobbs

1
Según 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 åes ISO 8859-1 # 229 y øes ISO 8859-1 # 248.
jayhendren

2
Como hablante nativo de danés, puedo decirte que tampoco tiene sentido para mí. No hay sustituto ASCII para las letras æ y ø. Hay algunos sustitutos de uso frecuente, pero no son ortografías válidas y, en algunos casos, producen una palabra completamente diferente. En el caso de å, se agregó al alfabeto hace menos de un siglo, y el uso de la ortografía antigua no introduce ninguna ambigüedad. Sin embargo, la antigua ortografía sería usar aa en lugar de å. Sustituir una sola a por la letra å no es una ortografía correcta.
kasperd

Respuestas:


30

Esto es por diseño. En resumen, Active Directory asigna los caracteres acentuados / diacríticos a su forma "simple". Consulte el siguiente artículo de soporte de Microsoft.

Comportamiento de inicio de sesión de Windows si su nombre de usuario contiene caracteres que tienen acentos u otros signos diacríticos :

Si su nombre de usuario en el servicio de directorio de Active Directory contiene uno o más caracteres que tienen acentos u otras marcas diacríticas, es posible que no tenga que usar la marca diacrítica mientras escribe su nombre de usuario para iniciar sesión en Windows. Puede iniciar sesión utilizando la forma simple del personaje o personajes. Por ejemplo, si su nombre de usuario en Active Directory es jésush, puede escribir jesush en el cuadro Nombre de usuario en el cuadro de diálogo Iniciar sesión en Windows para iniciar sesión en Windows.

Este comportamiento ocurre de modo que en situaciones en las que tiene que iniciar sesión en Windows desde una computadora en la que no está instalada la asignación de teclado preferida, aún puede iniciar sesión en Windows utilizando su nombre de usuario sin los signos diacríticos.


13
No soy un fanático de Microsoft, pero en ese caso estoy realmente impresionado de que la compañía estadounidense haya visto los problemas con las entradas de teclado como el problema real y lo aborde de una manera tan elegante.
Danubian Sailor

20
@ РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ La mejor combinación de nombre de usuario y comentario que todavía tengo que ver aquí, por cierto.
HopelessN00b

2
Uno se pregunta qué tipo de agujeros de seguridad que podrían haber dejado atrás al hacer esto :)
Hobbs

55
En realidad, esas no son marcas diacríticas, son letras completamente separadas. Llamar ø an o con una marca diacrítica tiene tanto sentido como llamar q an o con una marca diacrítica. En realidad, o, q y ø son tres letras diferentes, solo sucede que dos de ellas están en ASCII y una de ellas no. Estar en ASCII o no no es parte de la definición de una marca diacrítica. Pero estar en ASCII o no puede hacer una diferencia en lo fácil que es acceder al sistema.
kasperd

77
@kasperd Esto también depende del idioma; en sueco, 'ä' es su propia letra, en alemán es una 'a' con una diéresis como signo diacrítico.
beerbajay

14

Además de la referencia de @ jscott (+1) y un poco demasiado larga para un comentario: se hace algo similar con el caso, ya que aunque el nombre de usuario se almacena en el caso correcto, puede iniciar sesión con un nombre de usuario en todos los pequeños, superiores y incluso caso mixto. HBruijn = hbruijn = HbRuIjN, AD reconoce mayúsculas y minúsculas pero no distingue entre mayúsculas y minúsculas en algunos de los campos.

El término correcto (en TI se ve con mayor frecuencia en la configuración de la base de datos) es Colación y es lo que rige el orden, la correspondencia y la equivalencia canónica . Las reglas de intercalación también suelen depender de la configuración regional.

De interés puede ser https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspx y http://www.unicode.org/reports/tr10/# Collation_And_Code_Chart_Order

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.