/Etc/passwd и другие информационные файлы
База данных о пользователях в Unix системах является текстовым файлом /etc/passwd (называется файл паролей (password file)), который хранит все имена пользователей и сведения о них. Каждому имени пользователя (логину) соответствует одна строка из семи полей, разделенных двоеточиями:
Имя пользователя в системе (его аккаунт).
Пароль (в зашифрованном виде).
Числовой user id.
Числовой group id.
Полное имя и другие сведения о пользователе.
Домашний каталог.
Login shell (программа, запускаемая при входе в систему).
Каждый пользователь может читать файл паролей, например для поиска имени другого пользователя. К тому же, такая возможность позволяет разлиным командам показывать имена полльзователей вместо их числовых мдентификаторов. Увы, зашифрованные пароли также доступны на чтение всем. Конечно, они зашифрованы, но теоретически (да и практически, судя по опыту переводчика) это не проблема.
Многие Linux-системы применяют теневые пароли (shadow passwords). Это альтернативный путь хранения паролей: они пишутся в отдельный файл. /etc/shadow, который доступен уже только для root. Файл /etc/passwd вместо пароля будет во втором поле каждой строки хранить только специальный маркер. Любая программа, которой надо проверять пароли, выполняется с setuid от имени root и может обращаться к затененному файлу паролей. Нормальные программы, которым нужны только другие поля из файла паролей, не смогут получить пароли.