Unix systems & amp; Linux вообще ничего не делает, чтобы запретить дубликаты в файле /etc/passwd. Цель этого файла - связать UID с физическим именем, которое может отображаться с помощью инструментов командной строки, таких как ls, когда пользователь выводит файлы.
$ ls -n | head -5
total 986000
drwxrwxr-x. 3 1000 1000 4096 Feb 13 19:51 1_archive_sansa
-rw-rw-r--. 1 1000 1000 760868 Dec 16 08:21 2.18.x Database Scheme.jpg
-rw-rw-r--. 1 1000 1000 972 Oct 6 20:26 abcdefg
drwxrwxr-x. 2 1000 1000 4096 Feb 11 03:34 advanced_linux_programming
Другая цель этого файл должен указывать, какую оболочку пользователь получит при входе в систему.
$ getent passwd saml
saml:x:1000:1000:saml:/home/saml:/bin/bash
Общим вектором атаки в системах типа Unix является добавление таких строк в файл /etc/passwd системы: [!d2 ]
$ getent passwd r00t
r00t:x:0:0:root:/root:/bin/bash
$ getent passwd toor
toor:x:0:0:root:/root:/bin/bash
Роль файла /etc/passwd НЕ предназначена исключительно для отслеживания учетных записей пользователей. Роль отслеживания имени пользователя и паролей лежит на файле /etc/shadow. Файлы, такие как /etc/passwd и /etc/group, действительно предназначены для предоставления читаемого человеком имени, когда ваша система перечисляет файлы с дисков.
Помните, что ваши файлы записаны на диск с использованием UID / GID. имена.
$ stat afile
File: ‘afile’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd02h/64770d Inode: 6560621 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ saml) Gid: ( 1000/ saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-02-27 15:54:21.852697029 -0500
Modify: 2014-02-27 15:54:21.852697029 -0500
Change: 2014-02-27 15:54:21.852697029 -0500
Birth: -
Обратите внимание на Uid: и Gid:, цифры - это то, что на самом деле записано на диск!