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).