- How to Add User to Group in Linux
- Linux Groups #
- How to Add an Existing User to a Group #
- How to Add an Existing User to Multiple Groups in One Command #
- How to Remove a User From a Group #
- How to Create a Group #
- How to Delete a Group #
- How to Change a User’s Primary Group #
- How to Create a New User and Assign Groups in One Command #
- Display User Groups #
- Conclusion #
- Как создать группу Linux
- Как создать группу Linux
- Создание группы Linux вручную
- Как удалить группу в Linux
- Выводы
- Как создавать группы в Linux (команда groupadd)
- Синтаксис команды groupadd
- Создание группы в Linux
- Создание группы с определенным GID
- Создание системной группы
- Переопределение значений /etc/login.defs по умолчанию
- Создание системной группы с паролем
- Выводы
How to Add User to Group in Linux
In this tutorial, we will explain how to add a user to a group in Linux systems. We will also show you how to remove a user from a group and how to create, delete, and list groups.
Linux Groups #
Linux groups are organization units that are used to organize and administer user accounts in Linux. The primary purpose of groups is to define a set of privileges such as reading, writing, or executing permission for a given resource that can be shared among the users within the group.
There are two types of groups in Linux operating systems:
- The Primary group – When a user creates a file, the file’s group is set to the user’s primary group. Usually, the name of the group is the same as the name of the user. The information about the user’s primary group is stored in the /etc/passwd file.
- Secondary or supplementary group — Useful when you want to grant certain file permissions to a set of users who are members of the group. For example, if you add a specific user to the docker group, the user will inherit the group’s access rights and be able to run docker commands.
Each user can belong to exactly one primary group and zero or more secondary groups.
Only root or users with sudo access can add a user to a group.
How to Add an Existing User to a Group #
To add an existing user to a secondary group, use the usermod -a -G command followed the name of the group and the user:
sudo usermod -a -G groupname username
For example, to add the user linuxize to the sudo group, you would run the following command:
sudo usermod -a -G sudo linuxize
Always use the -a (append) option when adding a user to a new group. If you omit the -a option, the user will be removed from any groups not listed after the -G option.
On success, the usermod command does not display any output. It warns you only if the user or group doesn’t exist.
How to Add an Existing User to Multiple Groups in One Command #
If you want to add an existing user to multiple secondary groups in one command, use the usermod command followed by the -G option name of the group separated by , (commas):
sudo usermod -a -G group1,group2 username
How to Remove a User From a Group #
To remove a user from a group, use the gpasswd command wit the -d option.
In the following example, we are removing the user username from the group groupname :
sudo gpasswd -d username groupname
How to Create a Group #
To create a new group , use the groupadd command followed by the group name:
How to Delete a Group #
To delete an existing group, use the groupdel command followed by the group name:
How to Change a User’s Primary Group #
To change a user primary group, use the usermod command followed by the -g option:
sudo usermod -g groupname username
In the following example, we are changing the primary group of the user linuxize to developers :
sudo usermod -g developers linuxize
How to Create a New User and Assign Groups in One Command #
The following useradd command creates a new user named nathan with primary group users and secondary groups wheel and developers.
sudo useradd -g users -G wheel,developers nathan
Display User Groups #
To display complete user information, including all the groups of which a user is a member of, use the id command followed by the username:
If you omit the username, the command will print the information about the currently logged-in user. Let’s check the user linuxize :
uid=1000(linuxize) gid=100(users) groups=100(users),10(wheel),95(storage),98(power),990(libvirt),993(docker),999(kvm)
From the output above, we see that the primary group of the user is users and it belongs to wheel , storage , libvirt , docker , and kvm supplementary groups.
Use the groups command to display the user’s supplementary groups:
wheel storage power users libvirt docker kvm
If no username is passed to the groups command, it will print the currently logged in user’s groups.
Conclusion #
In this tutorial, we have shown you how to add a user to a group.
The same commands apply for any Linux distribution, including Ubuntu, CentOS, RHEL, Debian, and Linux Mint.
Feel free to leave a comment if you have any questions.
Как создать группу Linux
Группы — очень удобный инструмент распределения прав в Linux. Благодаря группам можно разрешить нескольким пользователям доступ к одному файлу или папке, а другим запретить, не прибегая к более сложным технологиям, таким, как ACL-списки. Системные сервисы тоже запускаются от имени определённых пользователей, и поэтому группы позволяют очень тонко настроить права доступа к нужным файлам для сервисов, не давая им полного доступа к системе.
В этой небольшой статье мы рассмотрим, как создать группу Linux разными способами, а также поговорим о дополнительных настройках группы.
Как создать группу Linux
Для создания групп в Linux используется команда groupadd, давайте рассмотрим её синтаксис и опции:
$ groupadd опции имя_группы
А теперь разберём опции утилиты:
- -f — если группа уже существует, то утилита возвращает положительный результат операции;
- -g — установить значение идентификатора группы GID вручную;
- -K — изменить параметры по умолчанию автоматической генерации GID;
- -o — разрешить добавление группы с неуникальным GID;
- -p — задаёт пароль для группы;
- -r — указывает, что группа системная;
- -R — позволяет изменить корневой каталог.
Перейдём к практике. Всё очень просто. Создадим группу group1:
Теперь вы можете убедится, что группа была добавлена в файл /etc/group:
cat /etc/group | grep group1
Система создала группу с GID 1001. Вы можете вручную указать GID вашей группы с помощью опции -g;
sudo groupadd -g 1006 group6
Также есть возможность задать пароль для группы. Он служит для того, чтобы пользователи, не состоящие в группе, смогли получить к ней доступ с помощью команды newgrp. Эта команда делает пользователя участником указанной группы до конца сеанса. Из соображений безопасности этот метод использовать не рекомендуется, поскольку один пароль будут знать несколько пользователей. Чтобы создать группу с паролем, сначала создаём пароль командой:
perl -e ‘print crypt(«12345», «xyz»),»\n»‘
Здесь xyz — это случайная комбинация символов для увеличения надёжности пароля, а 12345 — ваш пароль. Мы должны передать утилите именно зашифрованный пароль, если передать его в открытом виде, то ничего работать не будет. Теперь создаём группу с только что полученным паролем:
sudo groupadd -p sajEeYaHYyeSU group7
Затем можно попытаться получить временный доступ к ресурсам группы с помощью newgrp:
Нам надо ввести пароль, который мы раньше шифровали, и теперь до конца сеанса наш пользователь находится в группе. Если вы хотите добавить пользователя в группу навсегда, то надо использовать команду usermod:
sudo usermod -aG group7 имя_пользователя
Создание группы Linux вручную
Если вы не хотите создавать группу с помощью команды, это можно сделать, просто редактируя конфигурационные файлы. Все группы, которые существуют в системе, находятся в файле /etc/group. Если мы хотим добавить новую, достаточно добавить строчку с таким синтаксисом:
имя_группы : х : gid : список_пользователей
Разберём более подробно, какой параметр за что отвечает:
- имя_группы — имя, которое будет использоваться для операций с группой;
- x — заглушка пароля группы, пароль указывается в файле /etc/gshadow, если в этом есть необходимость;
- gid — идентификатор группы;
- список_пользователей — пользователи, разделённые запятыми, которые входят в группу.
Таким образом, чтобы создать группу group7, достаточно добавить строку:
Всё. Теперь нашу группу можно использовать, например, добавим в неё пользователя:
usermod -aG group7 имя_пользователя
Вы уже знаете, как создать группу пользователей linux двумя способами, теперь разберёмся, как её удалить.
Как удалить группу в Linux
Если вы создали группу неправильно или считаете, что она не нужна, то её можно удалить. Для этого используйте:
Только ни в коем случае не удаляйте системные группы, они нужны и используются системой, а их удаление может сломать работу некоторых программ.
Выводы
В этой небольшой статье мы рассмотрели создание группы в Linux, а также то, как удалить созданную группу. Как видите, это довольно просто. Ели у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как создавать группы в Linux (команда groupadd)
В Linux группы используются для организации и администрирования учетных записей пользователей. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.
В этой статье мы поговорим о том, как создавать новые группы в Linux, используя команду groupadd .
Синтаксис команды groupadd
Общий синтаксис команды groupadd следующий:
groupadd [OPTIONS] GROUPNAME
Только root или пользователь с привилегиями sudo могут создавать новые группы.
При вызове groupadd создает новую группу, используя параметры, указанные в командной строке, плюс значения по умолчанию, указанные в файле /etc/login.defs .
Создание группы в Linux
Чтобы создать новую группу, введите groupadd за которым следует имя новой группы.
Например, чтобы создать новую группу с именем mygroup вы должны запустить:
Команда добавляет запись для новой группы в файлы /etc/group и /etc/gshadow .
После создания группы вы можете начать добавлять пользователей в группу .
Если группа с таким именем уже существует, система напечатает сообщение об ошибке, подобное следующему:
groupadd: group 'mygroup' already exists
Чтобы подавить сообщение об ошибке, если группа существует, и для успешного завершения команды используйте параметр -f ( —force ):
Создание группы с определенным GID
В Linux и Unix-подобных операционных системах группы идентифицируются по имени и уникальному GID (положительное целое число).
По умолчанию, когда создается новая группа, система назначает следующий доступный GID из диапазона идентификаторов групп, указанных в файле login.defs .
Используйте параметр -g ( —gid ), чтобы создать группу с определенным GID.
Например, чтобы создать группу с именем mygroup с GID 1010 , введите:
Вы можете проверить GID группы, перечислив все группы и отфильтровав результат с помощью grep :
getent group | grep mygroup
Если группа с данным GID уже существует, вы получите следующую ошибку:
groupadd: GID '1010' already exists
При использовании с параметром -o ( —non-unique ) команда groupadd позволяет создать группу с неуникальным GID:
groupadd -o -g 1010 mygroup
Создание системной группы
Нет никакой реальной технической разницы между системой и обычными (обычными) группами. Обычно системные группы используются для некоторых специальных целей работы системы, таких как создание резервных копий или обслуживание системы.
GID системных групп выбираются из диапазона login.defs системных групп, указанного в файле login.defs , который отличается от диапазона, используемого для обычных групп.
Используйте параметр -r ( —system ), чтобы создать системную группу. Например, чтобы создать новую системную группу с именем mysystemgroup вы должны запустить:
Переопределение значений /etc/login.defs по умолчанию
Параметр -K ( —key ), за которым следует KEY=VAL позволяет переопределить значения по умолчанию, указанные в файле /etc/login.defs .
По сути, все, что вы можете переопределить, — это максимальное и минимальное значения идентификаторов нормальной и системной группы для автоматического выбора GID при создании новой группы.
Допустим, вы хотите создать новую группу с GID в диапазоне от 1200 до 1500. Для этого укажите минимальные / максимальные значения, как показано ниже:
groupadd -K GID_MIN=1200 -K GID_MAX=1500 mygroup
Создание системной группы с паролем
Добавление пароля в группу не имеет практического смысла и может вызвать проблемы с безопасностью, поскольку пароль потребуется знать нескольким пользователям.
Параметр -p ( —password ), за которым следует пароль, позволяет вам установить пароль для новой группы:
groupadd -p grouppassword mygroup
Выводы
В Linux вы можете создавать новые группы с помощью команды groupadd .
Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.