ENGLISH | KOI | WIN | ALT | ISO
Мои программы

Где хранится информация о группах?

Здесь есть маленькая тонкость. На самом деле надо рассмотреть два вопроса:

Где хранится имя и номер группы?

В файле /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 этой группы.