Энциклопедия системного администратора Linux

         

/Etc/passwd и другие информационные файлы


База данных о пользователях в Unix системах является текстовым файлом /etc/passwd (называется файл паролей (password file)), который хранит все имена пользователей и сведения о них. Каждому имени пользователя (логину) соответствует одна строка из семи полей, разделенных двоеточиями:

Имя пользователя в системе (его аккаунт).

Пароль (в зашифрованном виде).

  • Числовой user id.

  • Числовой group id.

  • Полное имя и другие сведения о пользователе.

  • Домашний каталог.

  • Login shell (программа, запускаемая при входе в систему).

  • Формат полей детально описан в man-руководстве на passwd .

    Каждый пользователь может читать файл паролей, например для поиска имени другого пользователя. К тому же, такая возможность позволяет разлиным командам показывать имена полльзователей вместо их числовых мдентификаторов. Увы, зашифрованные пароли также доступны на чтение всем. Конечно, они зашифрованы, но теоретически (да и практически, судя по опыту переводчика) это не проблема.

    Многие Linux-системы применяют теневые пароли (shadow passwords). Это альтернативный путь хранения паролей: они пишутся в отдельный файл. /etc/shadow, который доступен уже только для root. Файл /etc/passwd вместо пароля будет во втором поле каждой строки хранить только специальный маркер. Любая программа, которой надо проверять пароли, выполняется с setuid от имени root и может обращаться к затененному файлу паролей. Нормальные программы, которым нужны только другие поля из файла паролей, не смогут получить пароли.



    Содержание раздела