Tại sao a và o trong samAccountName có thể được thay thế bằng Đan Mạch å và ø?


27

Một đồng nghiệp vừa chứng minh với tôi rằng các tài khoản trong thử nghiệm AD của chúng tôi có thể xác thực khi thay thế mọi aký tự trong samAccountName của họ bằng ký tự Đan Mạch å(ASCII 134 / å).

Ví dụ, người dùng <domain>\aaacó thể xác thực là ååå.

Tôi đã thử tái tạo điều này trong một W2K12R2 AD mới được cung cấp (máy chủ duy nhất, tất cả các giá trị tiêu chuẩn) và nó cũng hoạt động ở đó. Tôi đã tạo một tài khoản aaa(không bao giờ chạm vào chữ cái åtrong quy trình, để không có gì chứa å) và chạy:

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

Nhập mật khẩu cho ååå:

Đang cố gắng khởi động notepad với tư cách là người dùng "DEV-DLI \ ååå" ...

PS C: \ Người dùng \ Quản trị viên>

mà gây ra notepad để bắt đầu, chạy như aaa.

Điều tương tự cũng có vẻ đúng với onhân vật Đan Mạch và øtrong khi char đặc biệt cuối cùng của Đan Mạch ædường như không tương ứng với bất kỳ nhân vật nào khác. Với người dùng aaatrong AD, cố gắng tạo người dùng bằng samAccountName åååsẽ thất bại, thông báo cho bạn điều đó The user logon name you have chosen is already in use (...).

Tôi đã googled như một người điên, nhưng không thể tìm hiểu những gì đang xảy ra. Có ai có bất kỳ gợi ý về lý do tại sao điều này làm việc?


5
Ký tự æphải tương ứng với ae(chữ cái atheo sau chữ cái e), FWIW.
Vô vọngN00b

4
Ký tự åkhông tồn tại trong ASCII.
TRiG

1
Vâng. Nitpick, nhưng không có thứ gọi là "ASCII 134", bởi vì ASCII chỉ tăng lên 127.
hobbs 23/1/2015

1
Theo 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.Có vẻ như ålà ISO 8859-1 # 229 và ølà ISO 8859-1 # 248.
jayhendren

2
Là một người nói tiếng Đan Mạch, tôi có thể nói với bạn rằng nó cũng không có ý nghĩa với tôi. Không có thay thế ASCII cho các chữ cái và ø. Có một số từ thay thế được sử dụng thường xuyên, nhưng chúng không phải là cách viết hợp lệ và trong một số trường hợp tạo ra một từ hoàn toàn khác. Trong trường hợp å, nó đã được thêm vào bảng chữ cái cách đây chưa đầy một thế kỷ và sử dụng cách viết cũ không đưa ra bất kỳ sự mơ hồ nào. Tuy nhiên, cách viết cũ sẽ là sử dụng aa thay vì å. Thay thế một chữ a cho chữ å không phải là một cách viết đúng.
kasperd

Câu trả lời:


30

Đây là do thiết kế. Nói tóm lại, Active Directory ánh xạ các ký tự có dấu / dấu phụ sang dạng "đơn giản" của chúng. Vui lòng xem bài viết Hỗ trợ của Microsoft sau đây.

Hành vi đăng nhập Windows nếu tên người dùng của bạn chứa các ký tự có dấu hoặc dấu phụ khác :

Nếu tên người dùng của bạn trong dịch vụ thư mục Active Directory chứa một hoặc nhiều ký tự có dấu hoặc dấu phụ khác, bạn có thể thấy rằng bạn không phải sử dụng dấu phụ khi bạn nhập tên người dùng để đăng nhập vào Windows. Bạn có thể đăng nhập bằng cách sử dụng hình thức đơn giản của nhân vật hoặc nhân vật. Ví dụ: nếu tên người dùng của bạn trong Active Directory là jésush, bạn có thể nhập jesush vào hộp Tên người dùng trong hộp thoại Đăng nhập vào Windows để đăng nhập vào Windows.

Hành vi này xảy ra để trong trường hợp bạn phải đăng nhập vào Windows từ máy tính không cài đặt ánh xạ bàn phím ưa thích, bạn vẫn có thể đăng nhập vào Windows bằng cách sử dụng tên người dùng của mình mà không có dấu phụ.


13
Tôi không phải là một fan hâm mộ của Microsoft, nhưng trong trường hợp đó, tôi thực sự ấn tượng rằng công ty Mỹ đã xem các vấn đề với đầu vào bàn phím là vấn đề thực sự và xử lý nó theo cách khá thanh lịch.
Thủy thủ Danubian

20
Nhân tiện, kết hợp tốt nhất giữa tên người dùng và nhận xét Tôi chưa thấy ở đây.
Vô vọngN00b

2
Người ta tự hỏi loại lỗ hổng bảo mật nào họ có thể để lại bằng cách làm điều này :)
hobbs 23/1/2015

5
Trên thực tế đó không phải là dấu phụ, chúng là những chữ cái hoàn toàn riêng biệt. Gọi ø một o với một dấu phụ có ý nghĩa nhiều như gọi q an o với một dấu phụ. Trong thực tế o, q và ø là ba chữ cái khác nhau, điều đó xảy ra là hai trong số chúng nằm trong ASCII và một trong số chúng thì không. Có trong ASCII hay không không phải là một phần của định nghĩa về dấu phụ. Nhưng việc có ở ASCII hay không có thể tạo ra sự khác biệt trong việc đăng nhập dễ dàng như thế nào.
kasperd

7
@kasperd Đây cũng là ngôn ngữ phụ thuộc; trong tiếng Thụy Điển, 'ä' là chữ cái riêng của nó, trong tiếng Đức nó là 'a' với một âm sắc là dấu phụ.
beerbajay

14

Ngoài tham chiếu của @ jscott (+1) và hơi quá dài cho một nhận xét: một cái gì đó tương tự được thực hiện với trường hợp, vì mặc dù tên người dùng được lưu trữ trong trường hợp chính xác, bạn có thể đăng nhập bằng tên người dùng ở tất cả nhỏ, trên và thậm chí trường hợp hỗn hợp. HBruijn = hbruijn = HbRuIjN, AD nhận biết trường hợp nhưng không phân biệt chữ hoa chữ thường trong một số trường.

Thuật ngữ chính xác (trong CNTT thường thấy nhất trong cấu hình cơ sở dữ liệu) là Collation và là yếu tố chi phối trật tự, khớp và tương đương chính tắc . Quy tắc đối chiếu thường phụ thuộc vào miền địa phương.

Quan tâm có thể là https://msdn.microsoft.com/en-us/l Library / windows / desktop / dd318144 ( v = vs85) .aspxhttp://www.unicode.org/reports/tr10/# Collation_And_Code_Chart_Order

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.