Mengapa a dan o di samAccountName dapat diganti dengan danish å dan ø?


27

Seorang rekan kerja baru saja menunjukkan kepada saya bahwa akun dalam AD pengujian kami dapat mengautentikasi ketika mengganti setiap akarakter di samAccountName dengan karakter Denmark å(ASCII 134 / å).

Misalnya pengguna <domain>\aaadapat mengotentikasi sebagai ååå.

Saya mencoba mereproduksi ini dalam W2K12R2 AD yang baru disediakan (server tunggal, semua nilai standar), dan berfungsi juga di sana. Saya membuat akun aaa(tidak pernah menyentuh surat ådalam proses, sehingga tidak ada yang mengandung å) dan berlari:

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

Masukkan kata sandi untuk ååå:

Mencoba memulai notepad sebagai pengguna "DEV-DLI \ åå" ...

PS C: \ Users \ Administrator>

yang menyebabkan notepad mulai, berjalan sebagai aaa.

Hal yang sama tampaknya berlaku untuk okarakter Denmark ø, sedangkan karakter khusus Denmark terakhir ætampaknya tidak sesuai dengan karakter lain. Dengan pengguna aaadalam AD, mencoba membuat pengguna dengan samAccountName åååakan gagal, memberitahukan itu kepada Anda The user logon name you have chosen is already in use (...).

Saya telah googled seperti orang gila, tetapi tidak dapat mengetahui apa yang sedang terjadi. Adakah yang punya petunjuk mengapa ini berhasil?


5
Karakter æharus sesuai dengan ae(huruf adiikuti oleh surat e), FWIW.
HopelessN00b

4
Karakter åtidak ada di ASCII.
TRiG

1
Ya. Nitpick, tetapi tidak ada yang namanya "ASCII 134", karena ASCII hanya naik hingga 127.
hobbs

1
Menurut 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.Sepertinya åadalah ISO 8859-1 # 229 dan øISO 8859-1 # 248.
jayhendren

2
Sebagai penutur asli bahasa Denmark, saya dapat memberi tahu Anda bahwa itu juga tidak masuk akal bagi saya. Tidak ada pengganti ASCII untuk huruf æ dan ø. Ada beberapa pengganti yang sering digunakan, tetapi itu bukan ejaan yang valid, dan dalam beberapa kasus menghasilkan kata yang sama sekali berbeda. Dalam kasus å, ditambahkan ke alfabet kurang dari satu abad yang lalu, dan menggunakan ejaan lama tidak menimbulkan ambiguitas apa pun. Namun ejaan lama akan menggunakan aa bukannya å. Mengganti satu a untuk huruf å bukan ejaan yang benar.
kasperd

Jawaban:


30

Ini dengan desain. Singkatnya, Active Directory memetakan karakter beraksen / diakritik ke bentuk "sederhana". Silakan lihat artikel Dukungan Microsoft berikut ini.

Perilaku masuk Windows jika nama pengguna Anda mengandung karakter yang memiliki aksen atau tanda diakritik lainnya :

Jika nama pengguna Anda di layanan direktori Active Directory berisi satu atau lebih karakter yang memiliki aksen atau tanda diakritik lainnya, Anda mungkin menemukan bahwa Anda tidak harus menggunakan tanda diakritik saat Anda mengetik nama pengguna Anda untuk masuk ke Windows. Anda dapat masuk dengan menggunakan bentuk sederhana dari karakter atau karakter. Misalnya, jika nama pengguna Anda di Active Directory adalah jésush, Anda dapat mengetikkan jesush di kotak Nama pengguna di kotak dialog Masuk ke Windows untuk masuk ke Windows.

Perilaku ini terjadi sehingga dalam situasi ketika Anda harus masuk ke Windows dari komputer di mana pemetaan keyboard pilihan tidak diinstal, Anda masih bisa masuk ke Windows dengan menggunakan nama pengguna Anda tanpa tanda diakritik.


13
Saya bukan penggemar Microsoft, tetapi dalam hal ini saya benar-benar terkesan bahwa perusahaan AS telah melihat masalah dengan input keyboard sebagai masalah nyata dan mengatasinya dengan cara yang cukup elegan.
Danubian Sailor

20
@ РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ Kombinasi nama pengguna dan komentar terbaik yang pernah saya lihat di sini.
HopelessN00b

2
Orang bertanya-tanya lubang keamanan seperti apa yang mungkin mereka tinggalkan dengan melakukan ini :)
hobbs

5
Sebenarnya itu bukan tanda diakritik, mereka sepenuhnya surat terpisah. Memanggil ø o dengan tanda diakritik sama artinya dengan memanggil q o dengan tanda diakritik. Pada kenyataannya, o, q, dan ø adalah tiga huruf yang berbeda, kebetulan dua di antaranya ada di ASCII dan salah satunya tidak. Berada di ASCII atau tidak bukan bagian dari definisi tanda diakritik. Tetapi berada di ASCII atau tidak dapat membuat perbedaan dalam hal betapa mudahnya untuk masuk.
kasperd

7
@kasperd Ini juga tergantung pada bahasa; dalam bahasa Swedia, 'ä' adalah hurufnya sendiri, dalam bahasa Jerman itu adalah 'a' dengan umlaut sebagai tanda diakritiknya.
beerbajay

14

Selain referensi @ jscott (+1) dan sedikit terlalu panjang untuk komentar: sesuatu yang serupa dilakukan dengan kasing, karena meskipun nama pengguna disimpan dalam kasing yang benar, Anda dapat masuk dengan nama pengguna di semua kecil, atas dan bahkan kasus campuran. HBruijn = hbruijn = HbRuIjN, AD adalah kasus sadar tetapi tidak peka terhadap huruf besar-kecil di beberapa bidang.

Istilah yang benar (dalam IT paling sering terlihat dalam konfigurasi basis data) adalah Collation dan adalah apa yang mengatur pemesanan, pencocokan, dan kesetaraan kanonik . Aturan pengumpulan biasanya juga tergantung pada lokal.

Yang menarik adalah https://msdn.microsoft.com/en-us/library/windows/desktop/dd318144(v=vs.85).aspx dan http://www.unicode.org/reports/tr10/# Collation_And_Code_Chart_Order

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.