BTW - це питання / відповідь оновлено для сьогоднішніх ОС.
Цитуючи з redhat: управління унікальними призначеннями UID та GID , він описує використання UID та GID та їх управління та як генератори (сервери ідентифікаторів)
повинні генерувати випадкові значення UID та GID і одночасно гарантувати, що репліки ніколи не генерують одне і те ж значення UID або GID. Потреба в унікальних номерах UID та GID може навіть перетинати домени IdM, якщо одна організація має кілька розрізнених доменів.
Аналогічно, утиліти, які дозволяють отримати доступ до системи, можуть поводитись непередбачувано (та сама посилання):
Якщо двом записам присвоєно однаковий ідентифікаційний номер, у пошуку за цим номером повертається лише перший запис.
Проблема виникає, коли поняття "перший" погано визначене. Залежно від встановленої служби, імена користувачів можуть зберігатися у хеші змінних розмірів, який би повертав інше ім'я користувача на основі непослідовних факторів. (Я знаю, що це правда, тому що я іноді намагався використовувати 2 імена користувачів без одного ідентифікатора, одне - локальне ім'я користувача, а інше - domain.username, яке я хотів відобразити в UID (на який я врешті звернувся в зовсім інший спосіб), але я міг увійти за допомогою "usera", зробити "хто" або "id" і побачити "userb" АБО "usera" - випадковим чином.
Існує інтерфейс для отримання декількох значень UID з групи (групи з одним GID призначені для асоціації з декількома UID), але немає портативного інтерфейсу для повернення списку імен для одного UID, тому кожен, хто очікує того ж або подібна поведінка між системами або навіть додатками в одній системі може бути несподівано здивованою.
У Sun (зараз оракул) yp (yellowpages) або NIS (NetworkInformationServices) також є багато посилань на вимоги унікальності. Спеціальні функції та сервери налаштовані для розподілу унікальних ідентифікаторів на декількох серверах і доменах (наприклад, uid_allocd, gid_allocd - UID та GID-розподільник демонів
Третє джерело, яке можна перевірити, - це документація сервера Microsoft щодо картографування облікових записів NFS. NFS - це протокол обміну файлами unix, який описує, як ідентифікатори підтримують дозволи та доступ до файлів. Там вони пишуть:
UID. Це ціле число без підпису, яке використовується операційними системами UNIX для ідентифікації користувачів і повинно бути унікальним у файлі passwd.
ГІД. Це ціле число без підпису, яке використовується ядром UNIX для ідентифікації груп і повинно бути унікальним у файлі групи. Сторінка управління MS-NFS
Хоча деякі ОС можуть дозволити кілька імен / UID (похідні BSD, можливо?), Більшість ОС залежать від того, щоб це було унікальним, і вони можуть вести себе непередбачувано, коли їх немає.
Примітка. Я додаю цю сторінку, як хтось назвав цей датований запис як підтримку сучасних утиліт для розміщення не унікальних UID / GID ... яких більшість, ні.