Где в Linux хранится информация о системных группах пользователей?

«Где в Linux хранится информация о системных группах пользователей?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Основная статическая информация о группах хранится в файле /etc/group. Это текстовый файл, каждая строка которого описывает одну группу.

Формат записи: group_name:password:GID:user_list

  • group_name: Имя группы (например, docker, www-data).
  • password: Исторически поле для зашифрованного парола группы. Практически всегда содержит x, указывая, что реальный пароль (редко используемый) хранится в /etc/gshadow.
  • GID: Numerical Group ID (например, 1001).
  • user_list: Список пользователей, для которых эта группа является вторичной, разделённый запятыми.

Пример содержимого /etc/group:

root:x:0:
daemon:x:1:
...
docker:x:998:alice,bob
jenkins:x:112:
developers:x:1001:alice,bob,charlie

Для DevOps важно: Многие инструменты (Docker, Jenkins) создают свои системные группы. Права на доступ к сокетам Docker (/var/run/docker.sock) или каталогам с данными часто управляются через членство в таких группах. Изменения в /etc/group вступают в силу для новых сессий; чтобы применить их к текущей оболочке, нужно выполнить newgrp <groupname> или перелогиниться.