Файл /etc/passwd Имя пользователя Идентификатор пользователя Группы пользователей Дополнительная информация Домашний каталог пользователя Командная оболочка Защита паролей пользователей
Окружение
Файл /etc/passwd является основным источником информации о правах пользователя операционной системы, содержит в текстовом формате список пользовательских учётных записей (аккаунтов).
Записи в файле представлены в следующем формате:
login : password : UID : GID : GECOS : home : shell
Каждая строка файла описывает одного пользователя и содержит семь полей, разделённых двоеточиями:
login
password
UID
GID
GECOS
home
shell
Вы можете подробнее ознакомиться с информацией о файле /etc/passwd, просмотрев наши обучающие видео:
на RuTube — Создание и управление пользователями;
в Яндекс.Дзен — Создание и управление пользователями;
в VK Видео — Создание и управление пользователями.
На наших каналах вы также сможете найти много другой полезной информации.
Основным назначением /etc/passwd является сопоставление логина и идентификатора пользователя (UID). Изначально поле пароля содержало хеш пароля и использовалось для аутентификации. Однако в связи с ростом вычислительных мощностей процессоров появилась серьёзная угроза применения простого перебора для взлома пароля. Поэтому все пароли были перенесены в специальные файлы, такие как /etc/shadow. Эти файлы недоступны для чтения обычным пользователям. Такой подход называется механизмом скрытых паролей.
Зарегистрированные в системе имена пользователей должны быть уникальными и представлять собой строки длиной не более 32 символов (любые, кроме двоеточия и символа новой строки). По сути, имя пользователя — это его короткий и легко запоминаемый псевдоним, который используется при входе в систему и часто включается в адреса электронной почты.
Идентификатор пользователя — это число от 0 до 232-1. Пользователь с идентификатором «0» (обычно root) называется суперпользователем и имеет право на выполнение любых операций в системе. Принято соглашение о выделении «специальным» пользователям (bin, daemon), назначение которых — только запуск определённых программ, идентификаторов со значениями менее 100 или, в некоторых дистрибутивах Linux, менее 500.
Пользователь может принадлежать к одной или нескольким группам, которые используются для указания прав более чем одного пользователя на тот или иной файл. Максимальное количество групп, в которых может состоять один пользователь, разное в разных вариантах системы.
Список групп с их участниками задаётся в файле /etc/group. В файле /etc/passwd указывается идентификатор группы по умолчанию.
Всем файлам, созданным пользователем после регистрации в системе, будет автоматически присвоен этот номер группы (исключение — если для каталога, в котором создаётся файл, в правах установлен бит SGID, то будет присвоена такая же группа, как у самого каталога).
Файл /etc/group содержит записи обо всех группах в системе. Записи в файле представлены в следующем формате:
<имя_группы> : password : GID : <список_пользователей>
Каждая его строка содержит:
<имя_группы>
x
<список_пользователей>
Например:
bin : x : 1 : root,bin,daemon
Запись указывает, что группа bin имеет GID=1, а входят в неё пользователи root, bin и daemon.
Поле GECOS хранит вспомогательную информацию о пользователе (номер телефона, адрес, полное имя пользователя и т. д.). Оно не имеет чётко определённого синтаксиса.
Тем не менее, демон fingerd предполагает, что в нём содержатся следующие элементы, разделённые запятыми:
С помощью утилиты chfn можно изменять эту информацию, а с помощью finger — узнать, например, полное имя любого пользователя в системе (или даже на другом компьютере сети).
Пример записи в поле GECOS:
tester : x : 210 : 8 : Edward Chernenko,Marx Street 10,4554391,5454221 : /home/ed : /bin/bash
После входа в систему пользователь оказывается в своём домашнем каталоге. Исторически сложилось так, что домашний каталог пользователя root называется /root, а остальные имеют вид /home/<имя_пользователя>.
Если на момент входа в систему домашний каталог отсутствует, то система выдаёт сообщение об ошибке и отказывается допустить пользователя к командной строке. Такое поведение НЕ характерно для GNU/Linux; в большинстве дистрибутивов этой ОС просто выводится предупреждение, после чего пользователь попадает в корневой каталог «/». Это можно изменить посредством установки параметра DEFAULT_HOME в файле /etc/login.defs в значение «no».
Следует отметить, что при использовании графического интерфейса (KDE, GNOME) пользователь не увидит предупреждения или сообщения об ошибке, но просто будет выведен из системы безо всяких объяснений (так как оконный менеджер не сможет выполнить запись в нужный каталог, такой как ~/.gnome).
В поле регистрационной оболочки задаётся shell, то есть интерпретатор командной строки. Здесь может быть указана любая программа, и пользователь может сам выбирать для себя наиболее подходящую при помощи команды chsh. Тем не менее, некоторые системы в целях безопасности требуют, чтобы суперпользователь явно разрешил использование приложения в качестве интерпретатора командной строки. Для этого используется специальный файл /etc/shells, содержащий список «допустимых» оболочек.
Пароли пользователей хранятся в файле /etc/shadow в зашифрованном виде. По умолчанию в РЕД ОС пароли шифруются с помощью алгоритма yescrypt. Хеши паролей записываются в файл /etc/shadow после префикса $y$.
Перед хешированием к паролю добавляются случайные символы — «salt» (соль, от англ. add salt to something — сделать что-либо более интересным; в русскоязычных источниках иногда используется термин «затравка»). Salt также приписывается к началу полученного хеша. Благодаря salt при простом просмотре файла нельзя обнаружить пользователей с одинаковыми паролями.
Для защиты паролей также могут быть использованы следующие методы хеширования (являются безопасными и рекомендуются к использованию):
sha512crypt ($6$) – метод хеширования паролей, основанный на алгоритме SHA-512, использует соль для защиты от атак с применением предварительно вычисленных таблиц (rainbow tables);
$6$
scrypt ($7$) – алгоритм хеширования паролей, который ориентирован на защиту от атак с использованием специализированного оборудования;
$7$
yescrypt ($y$) – современный алгоритм хеширования паролей, является улучшенной версией scrypt;
$y$
gost_yescrypt ($gy$) – адаптация алгоритма yescrypt с учетом российских стандартов криптографической защиты информации (ГОСТ), сочетает в себе преимущества yescrypt и соответствие требованиям ГОСТ.
$gy$
Информацию обо всех доступных методах хеширования можно просмотреть с помощью утилиты mkpasswd. Утилита позволяет вычислять хеш для пароля с указанными значениями.
Для установки утилиты в ОС выполните команду (потребуются права администратора):
sudo dnf install mkpasswd
Для просмотра всех доступных методов хеширования используйте команду:
mkpasswd --method=HELP
Обратите внимание, что методы хеширования bcrypt, sha256crypt, sunmd5, md5crypt, bsdicrypt, descrypt, nt являются устаревшими и не рекомендуются для использования! В случае использования в работе приведенных методов хеширования администратор ОС несет полную ответственность за возможную компрометацию данных!
bcrypt
sha256crypt
sunmd5
md5crypt
bsdicrypt
descrypt
nt
Информацию о переключении на метод хеширования, отличный от метода по умолчанию, см. в нашей инструкции «Задание хешей паролей в соответствии с ГОСТ Р 34.11-2012» в п. «Задание хешей паролей в системах, использующих authselect».
Для указания метода хеширования библиотеке PAM, осуществляющей проверку корректности введенного пользователем пароля при авторизации, необходимо передать соответствующие наименования:
для yescrypt — yescrypt;
yescrypt
gost_yescrypt
для sha512crypt — sha512;
sha512
для остальных методов — см. справку man pam_unix.
man pam_unix
В файле /etc/shadow кроме имен пользователей и хешей паролей также хранятся:
Даты обозначаются как число дней с 1 января 1970 года (начало эпохи UNIX).
Регулярная смена паролей — это обязательная административная мера, призванная сделать учётные записи более защищёнными.
Дата последнего изменения: 21.05.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.