/etc/group хранит локальные записи групп. Он сопоставляет имена групп числовым GID и перечисляет явных участников, обеспечивая общий доступ для нескольких учётных записей.
Управление пользователями · Урок 5
/etc/group
Узнайте, как локальные записи групп сопоставляют имена с GID и перечисляют дополнительных участников.
Локальные и разрешённые группы
Файл является лишь одним из возможных источников групп. NSS может разрешать группы из локальных файлов, служб каталогов и других настроенных баз. Покажите локальные записи командой:
$ cat /etc/group
Запросите разрешённую базу групп через getent:
$ getent group
$ getent group developers
Списки групп могут раскрывать внутренние имена учётных записей и ролей, поэтому проверяйте вывод перед передачей.
Какая команда запрашивает разрешённую через NSS базу групп?
Чтение четырёх полей
Локальная запись содержит четыре поля, разделённых двоеточиями:
developers:x:1500:alice,bob
- Имя группы:
developers. - Поле пароля: обычно
x,*или другой заполнитель; защищённые данные группового пароля могут храниться в/etc/gshadow. - GID: числовая идентичность группы, здесь
1500. - Список участников: разделённые запятыми имена явных участников, здесь
aliceиbob.
Групповые пароли — устаревшая возможность, используемая инструментами вроде newgrp в некоторых конфигурациях. Это не обычный механизм предоставления авторизации sudo, и его не следует вводить ручным редактированием полей.
Какое поле в developers:x:1500:alice,bob содержит GID?
Как представлены имена явных участников в локальной записи группы?
Учёт первичного членства
Список участников /etc/group обычно не повторяет пользователей, у которых этот GID указан как первичный в записи passwd. Поэтому пользователь может входить в группу, даже если его имя отсутствует в поле 4.
Например, если первичный GID Alice равен 1500, она входит в developers, даже когда локальная запись группы оканчивается пустым полем участников:
developers:x:1500:
Поэтому разбор только поля 4 даёт неполное представление о членстве.
В записи passwd Alice первичный GID равен 1500, но её имя отсутствует в поле 4 группы 1500. Является ли она участником этой группы?
Проверка групп пользователя
Для разрешённого представления учётной записи используйте id USER или groups USER:
$ id alice
$ groups alice
Для текущего процесса обычный id сообщает группы, действительно присутствующие в его учётных данных. Вновь настроенное дополнительное членство обычно не появляется в уже работающем сеансе входа; начните новый аутентифицированный сеанс или при необходимости используйте намеренно настроенный механизм вроде newgrp.
Какая команда сообщает UID, первичный GID и дополнительные группы текущего процесса?
Безопасное изменение локальных групп
Используйте groupadd, groupmod, groupdel, gpasswd и usermod, а не редактируйте записи универсальным редактором. Особенно внимательно различайте:
usermod -aG GROUP USER, добавляющую дополнительное членство.usermod -G ..., заменяющую список дополнительных групп, если-aопущен.
Если ручной ремонт локальной базы неизбежен, используйте vigr для блокировки и grpck для проверки. Перед удалёнными изменениями идентичностей сохраняйте путь восстановления.
Чтобы попрактиковаться в локальном управлении группами, выполните лабораторные работы:
- Управление учётными записями Linux с useradd, usermod и userdel — отработайте создание, защиту, изменение и удаление учётных записей.
- Управление группами Linux с groupadd, usermod и groupdel — попрактикуйтесь с основными командами
groupadd,usermodиgroupdel. - Добавление нового пользователя и группы — создайте пользователей и собственные группы и управляйте членством в сценарии добавления участников команды.
Урок завершён
Вы завершили /etc/group
Теперь вы можете интерпретировать локальные записи групп и точнее определять полное членство.
Запрашивайте настроенные источники через
getent group.Читайте четыре поля группы, разделённые двоеточиями.
Находите числовой GID и список явных участников.
Учитывайте первичное членство из записей passwd.
Проверяйте активные учётные данные, прежде чем полагаться на изменённое членство.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт