Введение
В этом руководстве мы объясним, как добавить пользователя в группу в системах Linux. Мы также покажем вам, как удалить пользователя из группы и как создавать, удалять и перечислять группы.
Linux-группы
Группы Linux — это организационные единицы, используемые для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как чтение, запись или выполнение авторизации для данного ресурса, которые могут быть разделены между пользователями в группе.
В операционных системах Linux существует два типа групп:
- Основная группа: когда пользователь создает файл, группа файла устанавливается в основную группу пользователя. Обычно имя группы совпадает с именем пользователя. Информация об основной группе пользователя хранится в
/etc/passwd
. - Вторичная или дополнительная группа — полезно, когда вы хотите предоставить определенные права доступа к файлам группе пользователей, которые являются членами группы. Например, если вы добавите определенного пользователя в группу
docker
, этот пользователь унаследует права доступа от группы и сможет выполнять команды docker.
Каждый пользователь может принадлежать только к одной основной группе или к нулю или нескольким дополнительным группам.
Только root или пользователи с доступом sudo
могут добавить пользователя в группу.
Как добавить существующего пользователя в группу
Чтобы добавить существующего пользователя во вторичную группу, используйте команду usermod -a -G
, за которой следует имя группы и пользователя:
sudo usermod -a -G groupname username
Например, чтобы добавить пользователя noviello
в группу sudo
, вам нужно выполнить следующую команду:
sudo usermod -a -G sudo noviello
Всегда используйте параметр -a
(добавить) при добавлении пользователя в новую группу. Если вы опустите параметр -a
, пользователь будет удален из всех групп, не перечисленных после параметра -G
.
В случае успеха команда usermod
ничего не выводит. Он только предупреждает вас, если пользователь или группа не существует.
Как добавить существующего пользователя в несколько групп одной командой
Если вы хотите добавить существующего пользователя в несколько подгрупп с помощью одной команды, используйте команду usermod
, за которой следует параметр -G
и имя группы, разделенное ,
(запятыми):
sudo usermod -a -G group1,group2 username
Как удалить пользователя из группы
Чтобы удалить пользователя из группы, используйте команду gpasswd
с параметром -d
.
В следующем примере мы удаляем username
из groupname
:
sudo gpasswd -d username groupname
Как создать группу
Чтобы создать новую группу, используйте команду groupadd
, за которой следует имя группы:
sudo groupadd groupname
Как удалить группу
Чтобы удалить существующую группу, используйте команду groupdel
, за которой следует имя группы:
sudo groupdel groupname
Как изменить основную группу пользователя
Чтобы изменить основную группу пользователя, используйте команду usermod
, за которой следует параметр -g
:
sudo usermod -g groupname username
В следующем примере мы меняем основную группу пользователя noviello
на developers
:
sudo usermod -g developers noviello
Как создать нового пользователя и назначить группы в команде
Следующая команда useradd
создает нового пользователя с именем alice
с users
основной группы и подгруппами wheel и Developers.
sudo useradd -g users -G wheel,developers alice
Просмотр групп пользователей
Чтобы просмотреть полную информацию о пользователе, включая все группы, в которых он состоит, используйте id
команды, за которым следует имя пользователя:
id username
Если вы опустите имя пользователя, команда напечатает информацию о текущем вошедшем в систему пользователе. Давайте проверим пользователя noviello
:
id noviello
uid=1000(noviello) gid=100(users) groups=100(users),10(wheel),95(storage),98(power),990(libvirt),993(docker),999(kvm)
Из приведенного выше примера мы видим, что основная группа пользователя — это users
принадлежащие к дополнительным группам wheel
, storage
, libvirt
, docker
и kvm
.
Используйте команду groups
для просмотра дополнительных групп пользователя:
groups noviello
wheel storage power users libvirt docker kvm
Если в команду groups
не передано имя пользователя, будут напечатаны группы текущего пользователя, вошедшего в систему.
Вывод
В этом уроке мы показали вам, как добавить пользователя в группу.
Одни и те же команды применимы к любому дистрибутиву Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.