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

Управление группами в Linux с помощью gpasswd

• 6 min read • Linux • Обновлено 26 Nov 2025
gpasswd в Linux: управление группами и паролями
gpasswd в Linux: управление группами и паролями

Ноутбук с Linux, на рабочем столе виден системный часовой индикатор

TL;DR

gpasswd — утилита для управления членством и паролями групп в /etc/group и /etc/gshadow. Используйте gpasswd для добавления/удаления участников, назначения администраторов и установки или удаления пароля группы; при этом учитывайте риски безопасности при использовании общих паролей.

Краткое резюме

  • gpasswd управляет паролями, участниками и администраторами групп в Linux, записывая изменения в /etc/gshadow и /etc/group.
  • Базовый синтаксис: gpasswd [опция] group.
  • Примеры: sudo gpasswd -a user group — добавить пользователя; sudo gpasswd -d user group — удалить пользователя; sudo gpasswd -r group — удалить пароль группы.

Зачем использовать gpasswd

gpasswd позволяет централизованно управлять локальными группами и их привилегиями. Это удобно для администраторов, когда нужно:

  • дать временный доступ нескольким пользователям к ресурсам через принадлежность к группе;
  • назначить одного или нескольких администраторов группы, которые смогут управлять членством;
  • временно или постоянно ограничить/снять ограничение доступа с помощью пароля группы.

Важно: групповым паролям свойственны риски — один пароль, используемый несколькими людьми, повышает вероятность утечки. Рассмотрите альтернативы (sudo, ACL, отдельные сервисные учётки) для повышенной безопасности.

Основной синтаксис и опции

Базовый синтаксис:

gpasswd [option] group

Ключевые опции:

  • -a, --add user — добавить пользователя в группу.
  • -d, --delete user — удалить пользователя из группы.
  • -h, --help — показать справку по использованию.
  • -R, --restrict — пометить пароль группы как “!”; только пользователи с паролем смогут использовать newgrp для входа в группу.
  • -r, --remove-password — удалить пароль у группы (пароль станет пустым).
  • -A, --administrators user — установить список администраторов группы.
  • -M, --members user — установить полный список членов группы (заменяет текущих участников).
  • -Q, --root CHROOT_DIR — применить изменения в указанном каталоге CHROOT_DIR, используя конфигурационные файлы из него.

Далее — подробные примеры и практические рекомендации.

Создание тестовой группы и установка пароля

Если у вас ещё нет группы для экспериментов, создайте её так:

sudo groupadd demogroup

Проверьте список групп:

cat /etc/group

Терминал Linux, отображающий список всех групп в системе

Создать пароль для группы:

sudo gpasswd demogroup

Команда попросит ваш sudo-пароль, затем дважды — новый пароль для группы. После установки пароля попытка сменить текущую группу командой newgrp demogroup потребует ввода пароля, если вы не являетесь членом группы.

Терминал Linux, показывающий процесс установки пароля для группы с помощью gpasswd

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

Чтобы убрать пароль у группы:

sudo gpasswd -r demogroup

После этого члены группы смогут выполнять newgrp demogroup без ввода пароля.

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

Добавление пользователя:

sudo gpasswd -a username group

Пример:

sudo gpasswd -a zunaid demogroup

Проверить состав группы:

getent group demogroup

Для добавления нескольких пользователей выполните команду для каждого имени отдельно:

sudo gpasswd -a user1 group
sudo gpasswd -a user2 group

Удаление пользователя из группы

Удаление участника:

sudo gpasswd -d username group

Пример удаления:

sudo gpasswd -d zunaid demogroup

Проверка:

getent group demogroup

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

sudo gpasswd -d user1 group
sudo gpasswd -d user2 group

Полная замена списка членов

Флаг -M заменяет текущих членов заданным списком (запись через запятую, без пробелов):

sudo gpasswd -M user3,user4 demogroup

Проверка:

getent group demogroup

Примечание: -M заменяет полностью — предыдущие участники будут удалены.

Назначение администраторов группы

Администраторы группы могут управлять составом и паролем группы:

sudo gpasswd -A zunaid demogroup

Проверить список администраторов можно в /etc/gshadow:

sudo cat /etc/gshadow

Терминал Linux, отображающий администраторов групп в системе

Быстрый набор команд — шпаргалка

  • Создать группу: sudo groupadd name
  • Установить пароль группы: sudo gpasswd group
  • Удалить пароль: sudo gpasswd -r group
  • Добавить пользователя: sudo gpasswd -a user group
  • Удалить пользователя: sudo gpasswd -d user group
  • Полностью задать список участников: sudo gpasswd -M user1,user2 group
  • Назначить админов: sudo gpasswd -A admin1,admin2 group
  • Использовать chroot: sudo gpasswd -Q /path/to/chroot group

Чек-лист безопасности и лучшие практики

  • Используйте пароли групп только при доказанной необходимости. Лучше применять уникальные учётные записи сервисов или механизмы временных привилегий.
  • Назначайте администраторов группы минимально необходимым количеством людей.
  • Ограничьте доступ к /etc/gshadow и /etc/group через права файловой системы (обычно уже настроено корректно).
  • Логируйте изменения и храните журналы (auditd, syslog) для отслеживания операций управления группами.
  • При использовании пароля группы используйте надёжные пароли и процесс их ротации.

Примеры сценариев использования и роли

Роль: системный администратор — задачи:

  • создать рабочую группу для проекта;
  • назначить двух администраторов команды;
  • добавить временных пользователей и установить дату ротации пароля;
  • по окончании проекта удалить пароль и очистить список участников.

Роль: администратор группы — задачи:

  • принимать заявки на вступление/выход;
  • следить за составом участников;
  • инициировать смену пароля по требованию.

Роль: пользователь — что нужно знать:

  • для входа в защищённую паролем группу используйте newgrp group и ввод пароля при запросе;
  • при смене членства может понадобиться повторный вход в систему.

Когда gpasswd не подходит — альтернативы

  • Если нужна детализированная политика доступа (разрешения по файлам/директориям) — используйте ACL (setfacl/getfacl).
  • Для привилегированных операций лучше применять sudoers и групповые правила в sudo вместо общих паролей.
  • Для централизованного управления пользователями и группами в корпоративной сети — используйте LDAP/AD, FreeIPA или аналогичные решения.

Отладка и распространённые ошибки

  • После изменения /etc/group или /etc/gshadow команда getent group groupname покажет текущие данные; если вы не видите изменений — проверьте права и синтаксис.
  • Если gpasswd возвращает ошибку “Permission denied” — убедитесь, что вы выполняете команду с правами root или sudo.
  • Операции с -M перезаписывают список участников — проверьте точность списка перед запуском.
  • В chroot-сценариях убедитесь, что указанный CHROOT_DIR содержит корректные /etc/group и /etc/gshadow.

Совместимость и примечания по миграции

  • gpasswd — часть сугубо локального набора инструментов UNIX/Linux; при миграции на централизованные каталоги (LDAP, AD) управление локальными /etc файловыми методами становится вторичным.
  • При переходе на LDAP/SSSD настройте синхронизацию локальных групп, чтобы избежать конфликтов между локальными /etc/group и удалённым репозиторием.
  • Обратите внимание на различия в формате /etc/gshadow в разных дистрибутивах; тестируйте на отдельной машине перед массовыми изменениями.

Критерии приёмки

  • Пользователь(и) добавлены/удалены из группы и результат подтверждён командой getent group groupname.
  • Пароль группы успешно установлен/удалён и поведение newgrp соответствует ожиданиям для членов/нечленов.
  • Администратор(ы) группы перечислены в /etc/gshadow.
  • Изменения задокументированы, журналы изменений доступны.

Плейбук: быстрый процесс для админов

  1. Подготовка: убедитесь в наличии резервной копии /etc/group и /etc/gshadow.
    • sudo cp /etc/group /etc/group.bak
    • sudo cp /etc/gshadow /etc/gshadow.bak
  2. Создать группу (если нужно): sudo groupadd projectX
  3. Добавить администраторов: sudo gpasswd -A alice,bob projectX
  4. Добавить участников: sudo gpasswd -a user1 projectX (повторять для каждого)
  5. При необходимости установить пароль: sudo gpasswd projectX
  6. Проверить: getent group projectX и sudo cat /etc/gshadow
  7. Документировать изменения и уведомить заинтересованные стороны.

Полезные приёмы и эвристики

  • Эвристика: если доступ нужен на ограниченное время, предпочитайте временные учётные записи или временное добавление в группу с последующей автоматической очисткой (скрипты/cron).
  • Ментальная модель: группа — это контейнер разрешений; управление членством не должно заменять индивидуальные учётные записи.

Часто задаваемые вопросы

Q: Нужен ли пароль группе, если у неё есть администраторы?
A: Обычно нет — администраторы могут управлять членством без пароля. Пароли полезны в специфических сценариях доступа через newgrp.

Q: Нужно ли перезагружать систему после изменения групп?
A: Перезагрузка не всегда требуетcя; пользователи должны переподключиться (re-login), чтобы новые параметры сессии вступили в силу. Для сервисов может понадобиться перезапуск.

Q: Можно ли массово добавить пользователей из файла?
A: Да, с помощью цикла в shell: while read u; do sudo gpasswd -a $u group; done < users.txt.

Заключение

gpasswd — простой и надёжный инструмент для управления локальными группами в Linux. Он удобен в ад-хок администрировании и для небольших локальных окружений, но при более строгих требованиях безопасности и централизованном управлении стоит рассмотреть альтернативы. Всегда документируйте изменения, проверяйте состав групп и следуйте принципу наименьших привилегий.


Если вы хотите, я могу подготовить готовый скрипт для массового добавления/удаления пользователей или шаблон политики управления группами для вашей инфраструктуры.

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

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро