Группы Ubuntu

В своей прошлой статье я рассмотрел пользователей Ubuntu. А там где есть пользователи всегда будут и группы. Пришло время разобраться что такое группы Ubuntu. Рассмотрим как создавать, изменять, удалять группы и пользователей в них.

Список групп

Использование групп пользователей в Ubuntu позволяет удобно делегировать полномочия на использование ресурсов. Самый простой пример это доступ к папке. Мы создаем папку и даем определенной группе права доступа к этой папке. Все пользователи соответствующей группы получат доступ к папке. Учитывая тот факт что за каждый процесс в системе отвечает свой файл, это даёт эффективный инструмент распределения доступа с помощью групп.

Список всех групп в системе находится в файле /etc/group. Разберем в каком виде хранятся данные в файле

cat /etc/group
/etc/group

Файл имеет вполне читаемый вид и структуру схожую с файлом пользователей Ubuntu. Перечислю значение полей на примере шаблона: name:password:UID:users

  • name — название группы
  • password — пароль. Функция больше не используется, значение всегда x
  • GID — идентификатор
  • users — пользователи состоящие в группе

Увидеть список групп в которых состоит текущий пользователей можно используя команду groups

groups

Среди перечисленных групп мы видим cdrom. Как известно в Linux за каждое оборудование отвечает свой файл. Добавив пользователя в определенную группу можно разрешить ему доступ к указанному оборудованию. Как видно на скриншоте пользователь arthur имеет доступ к CD-ROM установленному в системе.

Создание группы

Создать новую группу можно используя команду groupadd. Перечислю основные параметры при создании новой группы

  • -f — если группа с указанным именем существует, прервать выполнение команды без вывода ошибки
  • -g — указать свой GID для новой группы
  • -h — выводит помощь по команде
  • -p — установить зашифрованный пароль для группы
  • -r — создать системную группу

Для примера создам две группы: managers и newadmin для менеджеров и администраторов.

sudo groupadd managers
sudo groupadd -r newadmin
Запись в файле /etc/group после добавления

Добавим пользователя arthur в группу newadmin

sudo usermod -aG newadmin arthur

Изменение группы

Существующую группу можно изменить с помощью команды groupmod

  • -g — изменить GID группы
  • -n — переименовать группу
  • -o — разрешить использовать группы с одинаковым GID

Изменим название группы managers на marketing

sudo groupmod -n marketing managers

После ключа -n указываем сначала новое затем текущее название группы

Удаление группы

Удаление группы происходит командой groupdel. Необходимо помнить, что у каждого пользователя есть основная группа и дополнительные. Удалить группу можно только в том случае, если она не является основной для какого-либо пользователя в системе. Однако если указать при удалении параметр -f то можно удалить группу даже если она основная для пользователя.

sudo groupdel marketing

В указанном примере я удалил группу marketing.

Пользователи и группы

Мы рассмотрели как управлять группами, теперь настал момент изучить как же управлять пользователями в группах. Для данных целей можно использовать gpasswd. Команда позволяет добавлять, удалять и выводить список пользователей в группе. Перечислю основные параметры:

  • -a — добавить пользователя в группу
  • -d — удалить пользователя из группы
  • -r — удалить пароль группы. После удаления пароль станет пустым. Только члены указанной группы смогут использовать newgrp для входа в группу.
  • -R — ограничить доступ к группе. Пароль станет равным ! и только члены группы знающие пароль смогут входить с использованием newgrp
  • -M — указать список членов группы
  • -A — перечислить администраторов группы

Особенностью утилиты gpasswd является невозможность совместного использования параметров (за исключением -A и -M).

Несколько примеров для закрепления. Добавим пользователя arthur в группу sudo.

Запускаем gpasswd с повышенными правами суперпользователя

sudo gpasswd -a arthur sudo
Добавляем arthur в группу sudo

После добавления убедимся что пользователь добавлен в нужную группу

groups
Пользователь arthur добавлен в группу sudo

Группу sudo я использовал не случайно. Довольно часто пользователи Linux задаются вопросом: как добавить пользователю права администратора? Для этого необходимо добавить пользователя в группу sudo. Что мы и сделали. Заключительным тестом давайте удалим пользователя arthur из группы newadmin

sudo gpasswd -d arthur newadmin
Удаление пользователя из группы

Добавлять пользователя в группы можно и с помощью утилиты usermod. Её подробное описание есть в статье о пользователях Ubuntu.

Хотите отблагодарить автора статьи? Это даст ему дополнительный стимул к написанию новых статей.

Поделиться:
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии