8.15. Изменение принадлежности к группам
Проблема
Требуется включить пользователей в некоторую группу или исключить их из этой группы.
Решение
Самый простой и быстрый способ изменения принадлежности пользователей к группам — это ручное редактирование файла /etc/group
. Этот файл содержит список групп и пользователей, которые в них входят. Для добавления пользователя в группу найдите нужную группу и добавьте его имя в строку группы, разделяя имена пользователей запятыми.
group_name:x:GID:user1,user2,user3
Чтобы исключить пользователя, просто удалите его имя из списка. Изменения вступят в силу сразу после сохранения файла, и пользователю не потребуется повторно входить в систему.
Пример добавления пользователя johndoe
в группу developers
:
developers:x:1001:johndoe
Также можно воспользоваться командами usermod
и adduser
. Команда adduser
позволяет добавить пользователя в одну группу, используя следующий синтаксис:
# adduser johndoe developers
Для добавления пользователя сразу в несколько групп используйте usermod
с ключом -aG
(append to group):
# usermod -aG group1,group2 johndoe
Комментарий
Важно помнить, что при использовании команды usermod
без ключа -a
, указанные группы перезапишут текущие группы пользователя, что может привести к потере его принадлежности к другим группам. Чтобы избежать этого, всегда используйте ключ -aG
, чтобы добавлять новые группы без удаления старых.
Команда adduser
позволяет за один вызов включить пользователя только в одну группу, что делает её менее гибкой, чем usermod
. Однако adduser
удобна для простых задач, таких как создание пользователя и добавление его в основную группу.
Чтобы изменения вступили в силу, пользователю может потребоваться выйти из системы и снова войти. В некоторых случаях достаточно использовать команду newgrp
, которая позволяет активировать новое групповое окружение без повторного входа в систему:
# newgrp group_name
Важно помнить, что система Linux использует группы не только для управления правами доступа к файлам и каталогам, но и для других задач, таких как контроль доступа к устройствам и программам. Например, группы audio
, video
и disk
позволяют управлять доступом к мультимедийным устройствам и дисковым накопителям.
Если вам нужно добавить пользователя в системную группу (например, sudo
), не забудьте, что это даёт пользователю повышенные привилегии, и будьте осторожны при предоставлении таких прав.
См. также
adduser(8), usermod(8), group(5).