В этом руководстве мы объясним, как добавить пользователя в группу в системах Linux. Мы также покажем вам, как удалить пользователя из группы и как создавать, удалять и перечислять группы.
Содержание
Группы Linux
Группы Linux — это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.
В операционных системах Linux есть два типа групп:
-
Основная группа — когда пользователь создает файл, группа файла устанавливается как основная группа пользователя. Обычно название группы совпадает с именем пользователя. Информация об основной группе пользователя хранится в
/etc/passwd
. -
Вторичная или дополнительная группа — полезно, когда вы хотите предоставить определенные права доступа к файлам набору пользователей, которые являются членами группы. Например, если вы добавите определенного пользователя в группу докеров, пользователь унаследует права доступа группы и сможет запускать команды докеров.
Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.
Только root или пользователи с доступом sudo
могут добавлять пользователя в группу.
Как добавить существующего пользователя в группу
Чтобы добавить существующего пользователя во вторичную группу, используйте команду usermod -a -G
после имени группы и пользователя:
sudo usermod -a -G groupname username
Например, чтобы добавить пользователя linuxize
в группу sudo
, вы должны выполнить следующую команду:
sudo usermod -a -G sudo linuxize
Всегда используйте параметр -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
В следующем примере мы меняем основную группу пользователя linuxize
на developers
:
sudo usermod -g developers linuxize
Как создать нового пользователя и назначить группы одной командой
Следующая команда useradd
создает нового пользователя с именем nathan
с users
первичной группы и вторичными группами wheel и разработчиками.
sudo useradd -g users -G wheel,developers nathan
Показать группы пользователей
Чтобы отобразить полную информацию о пользователе, включая все группы, членом которых является пользователь, используйте команду id
за которой следует имя пользователя:
id username
Если вы опустите имя пользователя, команда напечатает информацию о текущем вошедшем в систему пользователе. Проверим пользовательский linuxize
:
id linuxize
uid=1000(linuxize) 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 linuxize
wheel storage power users libvirt docker kvm
Если команде groups
не передано имя пользователя, она распечатает группы пользователей, вошедших в систему.
Выводы
В этом руководстве мы показали вам, как добавить пользователя в группу.
Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.