8.11. Создание групп командой groupadd
Проблема
Требуется создать новую пользовательскую или системную группу. Все устанавливаемые программы-серверы должны иметь свои учётные записи пользователей и групп.
Решение
Воспользуйтесь командой groupadd. Команда создаёт новую группу по системным значениям, настроенным в /etc/default/useradd
и /etc/skel/
:
# groupadd newgroup
Системная группа создаётся с ключом -r:
# groupadd -r newgroup
Ключ -r является специфическим для Red Hat. Если в вашей версии groupadd он не поддерживается, укажите следующий доступный номер системной группы:
# groupadd -g 127 newgroup
Следующий доступный номер группы можно узнать из файла /etc/group
.
Комментарий
Рекомендуется использовать логически последовательную схему нумерации групп. С точки зрения Linux это несущественно, но такая схема поможет вам избежать многих хлопот при администрировании системы. В Red Hat номера системных групп лежат в диапазоне 0-499, а в Debian — в диапазоне 100-999.
Кроме того, при создании групп стоит учитывать такие моменты:
- Группы можно создавать как для пользователей, так и для процессов, запускаемых от имени определённых служб (например, веб-серверов или баз данных).
- Системные группы используются для процессов, у которых нет собственных учётных записей пользователей, но которым необходимо иметь собственные права доступа.
- Для поддержания чёткого разделения ролей и обязанностей рекомендуется организовать группы в соответствии с функциями или задачами (например, группа
developers
,admins
).
Для более сложных сценариев можно использовать дополнительные команды, такие как usermod
, чтобы добавлять существующих пользователей в новые группы. Это полезно для управления доступом к ресурсам или службам.
# usermod -aG newgroup username
Также рекомендуется регулярно проверять файл /etc/group
, чтобы убедиться, что все группы и их члены актуальны и соответствуют вашим требованиям безопасности и управления доступом.
См. также
groupadd(8), usermod(8), /etc/group.