BTW - câu hỏi / câu trả lời này được cập nhật cho hệ điều hành ngày nay.
Trích dẫn từ redhat: quản lý các bài tập Số UID và GID duy nhất , nó mô tả việc sử dụng UID và GID và cách quản lý của họ và cách các trình tạo (máy chủ ID)
phải tạo các giá trị UID và GID ngẫu nhiên và đồng thời đảm bảo rằng các bản sao không bao giờ tạo ra cùng một giá trị UID hoặc GID. Nhu cầu về số UID và GID duy nhất thậm chí có thể vượt qua các miền IdM, nếu một tổ chức có nhiều tên miền khác nhau.
Tương tự, các tiện ích cho phép truy cập vào hệ thống có thể hoạt động không thể đoán trước (cùng tham chiếu):
Nếu hai mục nhập được gán cùng một số ID, chỉ mục nhập đầu tiên được trả về trong tìm kiếm cho số đó.
Vấn đề xảy ra khi khái niệm "đầu tiên" không được xác định rõ ràng. Tùy thuộc vào dịch vụ được cài đặt, tên người dùng có thể được giữ trong hàm băm có kích thước thay đổi sẽ trả về tên người dùng khác nhau dựa trên các yếu tố không nhất quán. (Tôi biết điều này là đúng, vì đôi khi tôi đã cố gắng sử dụng 2 tên người dùng với một ID, một tên người dùng cục bộ và tên kia là tên miền mà tôi muốn ánh xạ tới UID (cuối cùng tôi đã xử lý một cách hoàn toàn khác), nhưng tôi có thể đăng nhập bằng "usera", thực hiện "ai" hoặc "id" và xem "userb" HOẶC "usera" - một cách ngẫu nhiên.
Có một giao diện để truy xuất nhiều giá trị của UID từ một nhóm (các nhóm có một GID duy nhất được thiết kế để được liên kết với nhiều UID), nhưng không có giao diện di động nào trả về danh sách tên cho một UID, vì vậy bất kỳ ai cũng mong muốn giống nhau hoặc hành vi tương tự giữa các hệ thống hoặc thậm chí các ứng dụng trên cùng một hệ thống có thể gây bất ngờ.
Trong Mặt trời (bây giờ là tiên tri) yp (trang vàng) hoặc NIS (NetworkIn informationService), cũng có nhiều tài liệu tham khảo về các yêu cầu về tính duy nhất. Các chức năng và máy chủ đặc biệt được thiết lập để phân bổ ID duy nhất trên nhiều máy chủ và tên miền (ví dụ: uid_allocd, gid_allocd - trang chủ daemons cấp phát UID và GID
Nguồn thứ ba mà người ta có thể kiểm tra là tài liệu máy chủ của Microsoft về Ánh xạ tài khoản NFS. NFS là một giao thức chia sẻ tệp unix và chúng mô tả cách duy trì quyền truy cập và quyền truy cập của tệp. Ở đó, họ viết:
UID. Đây là một số nguyên không dấu được sử dụng bởi các hệ điều hành UNIX để xác định người dùng và phải là duy nhất trong tệp passwd.
GID. Đây là một số nguyên không dấu được sử dụng bởi hạt nhân UNIX để xác định các nhóm và phải là duy nhất trong tệp nhóm. Trang quản lý MS-NFS
Mặc dù một số hệ điều hành có thể đã cho phép nhiều tên / UID (dẫn xuất BSD, có lẽ?), Hầu hết các hệ điều hành phụ thuộc vào điều này là duy nhất và có thể hành xử không thể đoán trước khi chúng không hoạt động.
Lưu ý - Tôi đang thêm trang này, vì một người nào đó gọi mục này là hỗ trợ cho các tiện ích hiện đại để chứa các UID / GID không độc đáo ... mà hầu hết, không.