- Как создать группу Linux
- Как создать группу Linux
- Создание группы Linux вручную
- Как удалить группу в Linux
- Выводы
- Как создавать группы в Linux (команда groupadd)
- Синтаксис команды groupadd
- Создание группы в Linux
- Создание группы с определенным GID
- Создание системной группы
- Переопределение значений /etc/login.defs по умолчанию
- Создание системной группы с паролем
- Выводы
- Группы Ubuntu
- Список групп
- Создание группы
- Изменение группы
- Удаление группы
- Пользователи и группы
Как создать группу 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.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Группы Ubuntu
В своей прошлой статье я рассмотрел пользователей Ubuntu. А там где есть пользователи всегда будут и группы. Пришло время разобраться что такое группы Ubuntu. Рассмотрим как создавать, изменять, удалять группы и пользователей в них.
Список групп
Использование групп пользователей в Ubuntu позволяет удобно делегировать полномочия на использование ресурсов. Самый простой пример это доступ к папке. Мы создаем папку и даем определенной группе права доступа к этой папке. Все пользователи соответствующей группы получат доступ к папке. Учитывая тот факт что за каждый процесс в системе отвечает свой файл, это даёт эффективный инструмент распределения доступа с помощью групп.
Список всех групп в системе находится в файле /etc/group. Разберем в каком виде хранятся данные в файле
Файл имеет вполне читаемый вид и структуру схожую с файлом пользователей Ubuntu. Перечислю значение полей на примере шаблона: name:password:UID:users
- name — название группы
- password — пароль. Функция больше не используется, значение всегда x
- GID — идентификатор
- users — пользователи состоящие в группе
Увидеть список групп в которых состоит текущий пользователей можно используя команду groups
Среди перечисленных групп мы видим cdrom. Как известно в Linux за каждое оборудование отвечает свой файл. Добавив пользователя в определенную группу можно разрешить ему доступ к указанному оборудованию. Как видно на скриншоте пользователь arthur имеет доступ к CD-ROM установленному в системе.
Создание группы
Создать новую группу можно используя команду groupadd. Перечислю основные параметры при создании новой группы
- -f — если группа с указанным именем существует, прервать выполнение команды без вывода ошибки
- -g — указать свой GID для новой группы
- -h — выводит помощь по команде
- -p — установить зашифрованный пароль для группы
- -r — создать системную группу
Для примера создам две группы: managers и newadmin для менеджеров и администраторов.
sudo groupadd managers sudo groupadd -r newadmin
Добавим пользователя arthur в группу newadmin
sudo usermod -aG newadmin arthur
Изменение группы
Существующую группу можно изменить с помощью команды groupmod
Изменим название группы managers на marketing
sudo groupmod -n marketing managers
После ключа -n указываем сначала новое затем текущее название группы
Удаление группы
Удаление группы происходит командой groupdel. Необходимо помнить, что у каждого пользователя есть основная группа и дополнительные. Удалить группу можно только в том случае, если она не является основной для какого-либо пользователя в системе. Однако если указать при удалении параметр -f то можно удалить группу даже если она основная для пользователя.
В указанном примере я удалил группу marketing.
Пользователи и группы
Мы рассмотрели как управлять группами, теперь настал момент изучить как же управлять пользователями в группах. Для данных целей можно использовать gpasswd. Команда позволяет добавлять, удалять и выводить список пользователей в группе. Перечислю основные параметры:
- -a — добавить пользователя в группу
- -d — удалить пользователя из группы
- -r — удалить пароль группы. После удаления пароль станет пустым. Только члены указанной группы смогут использовать newgrp для входа в группу.
- -R — ограничить доступ к группе. Пароль станет равным ! и только члены группы знающие пароль смогут входить с использованием newgrp
- -M — указать список членов группы
- -A — перечислить администраторов группы
Особенностью утилиты gpasswd является невозможность совместного использования параметров (за исключением -A и -M).
Несколько примеров для закрепления. Добавим пользователя arthur в группу sudo.
Запускаем gpasswd с повышенными правами суперпользователя
sudo gpasswd -a arthur sudo
После добавления убедимся что пользователь добавлен в нужную группу
Группу sudo я использовал не случайно. Довольно часто пользователи Linux задаются вопросом: как добавить пользователю права администратора? Для этого необходимо добавить пользователя в группу sudo. Что мы и сделали. Заключительным тестом давайте удалим пользователя arthur из группы newadmin
sudo gpasswd -d arthur newadmin
Добавлять пользователя в группы можно и с помощью утилиты usermod. Её подробное описание есть в статье о пользователях Ubuntu.