Гид по технологиям

Как просмотреть и управлять группами пользователей в Linux

5 min read Linux Обновлено 22 Dec 2025
Как просмотреть группы пользователей в Linux
Как просмотреть группы пользователей в Linux

Три человека на скамейке смотрят фотографии других людей

Что такое группы пользователей в Linux

Группа пользователей — это именованный набор учётных записей, которому назначают общие права доступа. Группы экономят время администратора: вместо прав каждому пользователю отдельно, вы даёте права группе, и все её члены наследуют их.

Определения в одну строку:

  • Группа — набор пользователей для совместного управления правами.
  • GID — числовой идентификатор группы.

Важно: локальные группы определены в файле /etc/group; система может также получать группы из LDAP, NIS и других баз.

Просмотр всех локальных групп через /etc/group

Файл /etc/group содержит записи о локальных группах: имя, пароль (редко используется), GID и список участников.

Чтобы просмотреть содержимое файла, используйте:

cat /etc/group

Список групп из /etc/group, вывод в терминале

Вывод обычно имеет вид строк с двоеточиями, где первая колонка — имя группы. Чтобы получить только имена групп, примените cut:

cat /etc/group | cut -d: -f1

Вывод команды cat /etc/group | cut, список имён групп

Подсчитать общее число локальных групп можно так:

cat /etc/group | wc -l

Примечание: если вы добавите группу через groupadd, число строк увеличится, а имя новой группы появится в списке.

Использование getent для получения всех групп (локальных и из каталогов)

Команда getent считывает записи из системных баз данных (DB), таких как /etc/group, LDAP и др. Именно поэтому её вывод может отличаться от простого чтения /etc/group.

getent group

Вывод getent group, список групп в терминале

Чтобы вывести только имена групп из getent:

getent group | cut -d: -f1

getent полезен в средах с централизованными каталогами (LDAP, Active Directory через SSSD), когда часть групп не хранится локально.

Просмотр групп конкретного пользователя

Чтобы увидеть, к каким группам принадлежит пользователь, используйте команду groups.

Синтаксис:

groups username

Если имя пользователя опущено, команда покажет группы текущего пользователя.

Пример для пользователя testuser:

groups testuser

Команда groups для пользователя, вывод групп пользователя в терминале

Полезно: команда id username выдаёт подробную информацию — UID, GID и список групп с GID.

id testuser

Как группы упрощают контроль доступа

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

  • Создать группу developers.
  • Добавить в неё всех разработчиков.
  • Назначить группе права на репозиторий и общий ресурс.

Преимущества:

  • Масштабируемость управления правами.
  • Меньше ошибок при назначении индивидуальных прав.
  • Логика «одна роль — одна группа» упрощает аудит.

Важное: группы не заменяют средства разграничения привилегий вроде sudo или ACL — они дополняют модель доступа Unix.

Когда группы не подходят или их недостаточно

Использование групп эффективно в большинстве случаев, но есть сценарии, когда нужно другое решение:

  • Тонкое разграничение прав на уровне файлов -> используйте POSIX ACL (setfacl/getfacl).
  • Централизованная аутентификация и большое количество объектов -> LDAP/AD + SSSD/NSS.
  • Временные привилегии для операций -> sudo с временными политиками.

Контрпример: если разным проектам требуются пересекающиеся наборы прав, простая модель „одна группа — одна роль“ может размножить группы и усложнить управление.

Альтернативные подходы и гибридные решения

  • ACL: для детального назначения прав отдельным пользователям и группам без создания лишних групп.
  • Roles + Groups: применяйте роли в комбинации с группами (например, использовать systemd, LDAP-группы и sudoers для ролей).
  • Временные группы: в автоматизации добавляйте пользователя в группу на время задачи и затем удаляйте.

Чек‑лист для администратора при работе с группами

  • Проверьте текущие группы: cat /etc/group и getent group.
  • Убедитесь, что важные системные группы не дублируются в LDAP.
  • Для новых ролей создавайте отдельные группы с понятными именами.
  • Используйте id username и groups username для валидации членства.
  • Документируйте процедуру добавления/удаления пользователей из групп.

Команды‑шпаргалка

# Посмотреть локальные группы
cat /etc/group

# Только имена групп
cat /etc/group | cut -d: -f1

# Посчитать локальные группы
cat /etc/group | wc -l

# Посмотреть все группы (локальные + из каталогов)
getent group

# Только имена из getent
getent group | cut -d: -f1

# Группы пользователя
groups username

# Подробно: UID/GID/группы
id username

# Создать группу
sudo groupadd newgroup

# Удалить группу
sudo groupdel oldgroup

# Добавить пользователя в группу
sudo usermod -aG groupname username

# Удалить пользователя из группы (редактировать /etc/group или использовать gpasswd)
sudo gpasswd -d username groupname

Быстрая методология для внедрения групп в организации

  1. Идентифицируйте роли, требующие общих прав. 2. Создайте группы с понятными именами (например, db-admins, devops). 3. Добавьте в группу тестовую учётную запись и проверьте права. 4. Документируйте процесс. 5. Автоматизируйте добавление/удаление через скрипты или CM.

Факты и числа

  • Источник групп по умолчанию — /etc/group.
  • getent показывает записи из системных баз (например, LDAP).
  • Основные команды: cat, getent, groups, id, groupadd, groupdel, usermod, gpasswd.

Безопасность и рекомендации

  • Не давайте членство в административных группах (wheel, sudo) без проверки причины.
  • Отслеживайте изменения в /etc/group (журналируйте и храните бэкапы).
  • При централизованной авторизации проверяйте синхронизацию LDAP и локальных групп.

Небольшой пример процесса инцидента: откат изменения групп

  1. Обнаружили ошибочное удаление пользователя из группы, ведущей к отказу доступа.
  2. Войдите как администратор и восстановите запись в /etc/group или используйте usermod -aG.
  3. Проверить доступ пользователя командами id и groups.
  4. Проанализировать причину: скрипт, ошибка оператора или автоматическое обновление конфигурации.
  5. Записать инцидент и обновить SOP.

Краткий глоссарий

  • GID: идентификатор группы.
  • /etc/group: файл локальных групп.
  • getent: утилита получения записей из системных баз.
  • groups: показывает группы пользователя.

Резюме

Группы пользователей — базовый инструмент управления доступом в Linux. Для просмотра используйте /etc/group и getent; для просмотра членства конкретного пользователя — groups или id. В сложных сценариях дополняйте группы ACL, LDAP и sudo-политиками, документируйте изменения и тестируйте права на тестовых учётных записях.

Важное: всегда проверяйте, откуда система получает данные о группах (локально или из каталога), чтобы избежать конфликтов и несоответствий.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как выбрать USB Wi‑Fi адаптер для ноутбука
Сетевое оборудование

Как выбрать USB Wi‑Fi адаптер для ноутбука

Ошибки формул в Google Sheets: как исправить
Google Таблицы

Ошибки формул в Google Sheets: как исправить

Как отключить звук клавиатуры на iPhone, Android и Windows
How-to

Как отключить звук клавиатуры на iPhone, Android и Windows

Apple Maps для велосипедистов: iPhone и Apple Watch
Навигация

Apple Maps для велосипедистов: iPhone и Apple Watch

Разрыв страницы в Word: вставка и удаление
Microsoft Word

Разрыв страницы в Word: вставка и удаление

Отключить уведомления Почты в Windows 10
Инструкции

Отключить уведомления Почты в Windows 10