Перейти к основному содержимому
Файлы учетных записей

Файлы учетных записей

/etc/passwdсписок пользователей
/etc/shadowзашифрованные пользовательские пароли со сроком действия
/etc/groupсписок групп
/etc/gshadowзашифрованные групповые пароли со списком администраторов

Доступ к файлам

  • Файлы /etc/passwd и /etc/group доступны для чтения всем.
  • Файлы /etc/shadow и /etc/gshadow недоступны обычным пользователям.

Руководство: man passwd(5), man shadow(5), man group(5), man gshadow(5).

Список пользователей

Пользователь — учетная запись, подразумевающая реального человека, выполняющего задачи в командой строке.

Суперпользователь, root — пользователь, обладающий максимальными правами доступа и возможностью изменения системных файлов.

Системный пользователь — учетная запись для запуска служебных процессов, не подразумевающая авторизацию через интерактивные оболочки системы.

Формат записи в в файле /etc/passwd
name:password:UID:GID:GECOS:directory:shell
nameимя пользователя
passwordпароль в зашифрованном виде
uidуникальный идентификационный номер пользователя
gidуникальный идентификационный номер основной группы пользователя
GECOSопциональные данные или комментарии (как правило, полное имя пользователя)
directoryдиректория для хранения личных файлов пользователя
shellпрограмма для выполнения при входе (обычно это командный интерпретатор)

Список пользовательских паролей

Формат записи в в файле /etc/shadow
name:password:lastchange:minage:maxage:warning:inactivity:expiration:
nameимя пользователя как в /etc/passwd
passwordзашифрованный пароль из 13 символов
lastchangeколичество дней с 01.01.1970, когда пароль был изменен
minageколичество дней до смены пароля
maxageколичество дней, после которых пароль должен быть изменен
warningколичество дней отправки предупреждений о необходимости изменить пароль
inactivityколичество дней после окончания действия пароля, когда пароль остается действительным
expirationколичество дней, начиная с 01.01.1970, после которых пароль перестанет действовать

Особенные значения полей:

  • пустая запись :: вместо пароля: пароль для входа не нужен;
  • значение :*: вместо пароля: вход заблокирован;
  • значение 0 в minage: пароль может быть изменен в любой момент;
  • значение 99999 в maxage: можно никогда не менять пароль.

Список групп

Группа — это сущность, включающая нескольких пользователей с одинаковыми правами доступа во встроенной системе разрешений. Группой так же можно ограничить доступ к файлам и программам.

Формат записи в в файле /etc/group
group_name:password:GID:user_list
group_nameимя группы
passwordопциональный пароль в зашифрованном виде
GIDуникальный идентификационный номер группы
user_listсписок участников через запятую

В user_list не указываются те пользователи, для которых данная группа является основной.

Список групповых паролей

Файл /etc/gshadow содержит защищаемую информацию о группах. Эта информация заменяет любой пароль файла /etc/group.

Формат записи в в файле /etc/gshadow
groupname:password:adminlist:userlist
groupnameимя группы
passwordпароль в зашифрованном виде
adminlistсписок администраторов через запятую
userlistсписок участников через запятую

Как безопасно редактировать учетные записи

к сведению

Утилиты управления учетными записями

Существуют утилиты, позволяющие безопасно управлять пользователями, группами, паролями:

  • adduser и addgroup для создания;
  • usermod, groupmod,passwd для изменения;
  • deluser и delgroup для удаления.

Воспользуйтесь инструкциями, чтобы безопасно управлять учетными записями.

Если вам необходимо напрямую редактировать системные файлы, то учитывайте риски и пользуйтесь рекомендациями ниже.

Рекомендации по работе с системными файлами

  1. Создавайте бэкап любого системного файла перед его открытием или изменением по примеру ниже.
sudo cp /etc/passwd /etc/passwd.bak    # создать копию списка пользователей
  1. Для редактирования спиков пользователей и групп используйте команды, блокирующие доступ к редактированию файла другими пользователями на время вашей работы с файлом. Перечень команд для редактирования каждого файла в таблице.
vipwредактировать список пользователей /etc/passwd
vigrредактировать список групп/etc/group
vipw -sредактировать список пользовательских паролей /etc/shadow
vigr -sредактировать список групповых паролей /etc/gshadow
Как это работает

Утилиты vipw и vigr используют файловые блокировки при редактировании системных файлов.

Например, чтобы заблокировать файл /etc/passwd, утилита vipw создаёт специальный файл /etc/passwd.lock и заносит туда свой идентификатор процесса. Другие утилиты из набора shadow-utils, которые меняют системные файлы, проверяют наличие lock-файлов и ждут завершения работы процесса, который указан в этом lock-файле.

Обычные редакторы, например, vi или nano не проверяют блокировки и могут позволить другому пользователю параллельно вносить изменения.

Допустим, пользователь внес правки с помощью vi и сохранил изменения, пока другой пользователь вносит правки через vipw. Тогда vipw перезапишет изменения, когда завершит процесс. При этом файл будет в порядке, потому что утилиты vipw/vigr работают с копией.

Если же пользователь vi сохранит свои изменения после завершения процесса vipw, файл может повредиться.