Где хранится информация о группах?
Здесь есть маленькая тонкость. На самом деле надо рассмотреть два вопроса:
Где хранится имя и номер группы?
Как определяется список "членов" группы?
Где хранится имя и номер группы?
В файле /etc/group. Это просто текстовый файл, в котором каждая строчка описывает одну группу. Отдельные поля разделяются двоеточием. Назначение полей:
- имя группы (group name)
- пароль группы (group passwd)
- номер группы (group ID)
- список (через запятую) юзеров, входящих в группу (group members).
Поле <пароль группы> в системе FreeBSD пока никакими программами не используется, и там обычно ставится звездочка <*>.
Таким образом, файл /etc/group определяет - какие группы существуют в данной системе и устанавливает соответствие между именем и номером группы.
А, что касается принадлежности юзеров определенной группе, то этот вопрос немного сложнее.
Как определяется список членов группы?
Каждый юзер должен входить, по крайней мере, в одну группу. Эта группа (точнее ее groupID) прописывается в бюджете юзера (user account), в поле groupID (см. Какие данные хранятся в бюджете пользователя?).
А, чтобы тот же юзер стал членом еще какой-нибудь группы, его можно записать (его login name) непосредственно в файл /etc/group, в поле "group members" (см. выше), соответствующей группы. Таким образом, членами какой-либо группы являются
- юзеры, которые перечисленные в файле /etc/group в списке юзеров этой группы
- юзеры, в учетной карточке которых, стоит groupID этой группы.