Файлы учетных записей
Доступ к файлам
- Файлы
/etc/passwdи/etc/groupдоступны для чтения всем. - Файлы
/etc/shadowи/etc/gshadowнедоступны обычным пользователям.
Руководство: man passwd(5), man shadow(5), man group(5), man gshadow(5).
Список пользователей
Пользователь — учетная запись, подразумевающая реального человека, выполняющего задачи в командой строке.
Суперпользователь, root — пользователь, обладающий максимальными правами доступа и возможностью изменения системных файлов.
Системный пользователь — учетная запись для запуска служебных процессов, не подразумевающая авторизацию через интерактивные оболочки системы.
name:password:UID:GID:GECOS:directory:shell
Список пользовательских паролей
name:password:lastchange:minage:maxage:warning:inactivity:expiration:
Особенные значения полей:
- пустая запись
::вместо пароля: пароль для входа не нужен; - значение
:*:вместо пароля: вход заблокирован; - значение
0вminage: пароль может быть изменен в любой момент; - значение
99999вmaxage: можно никогда не менять пароль.
Список групп
Группа — это сущность, включающая нескольких пользователей с одинаковыми правами доступа во встроенной системе разрешений. Группой так же можно ограничить доступ к файлам и программам.
group_name:password:GID:user_list
В user_list не указываются те пользователи, для которых данная группа является основной.
Список групповых паролей
Файл /etc/gshadow содержит защищаемую информацию о группах. Эта информация заменяет любой пароль ф айла /etc/group.
groupname:password:adminlist:userlist
Как безопасно редактировать учетные записи
Утилиты управления учетными записями
Существуют утилиты, позволяющие безопасно управлять пользователями, группами, паролями:
adduserиaddgroupдля создания;usermod,groupmod,passwdдля изменения;deluserиdelgroupдля удаления.
Воспользуйтесь инструкциями, чтобы безопасно управлять учетными записями.
Если вам необходимо напрямую редактировать системные файлы, то учитывайте риски и пользуйтесь рекомендациями ниже.
Рекомендации по работе с системными файлами
- Создавайте бэкап любого системного файла перед его открытием или изменением по примеру ниже.
sudo cp /etc/passwd /etc/passwd.bak # создать копию списка пользователей
- Для редактирования спиков пользователей и групп используйте команды, блокирующие доступ к редактированию файла другими пользователями на время вашей работы с файлом. Перечень команд для редактирования каждого файла в таблице.
Как это работает
Утилиты vipw и vigr используют файловые блокировки при редактировании системных файлов.
Например, чтобы заблокировать файл /etc/passwd, утилита vipw создаёт специальный файл /etc/passwd.lock и заносит туда свой идентификатор процесса.
Другие утилиты из набора shadow-utils, которые меняют системные файлы, проверяют наличие lock-файлов и ждут завершения работы процесса, который указан в этом lock-файле.
Обычные редакторы, например, vi или nano не проверяют блокировки и могут позволить другому пользователю параллельно вносить изменения.
Допустим, пользователь внес правки с помощью vi и сохранил изменения, пока другой пользователь вносит правки через vipw. Тогда vipw перезапишет изменения, когда завершит процесс. При этом файл будет в порядке, потому что утилиты vipw/vigr работают с копией.
Если же пользователь vi сохранит свои изменения после завершения процесса vipw, файл может повредиться.