stringtranslate.com

Идентификатор группы

В Unix-подобных системах несколько пользователей могут быть объединены в группы . Разрешения POSIX и обычной файловой системы Unix организованы в три класса: пользователь , группа и другие . Использование групп позволяет делегировать дополнительные возможности организованным образом, например, доступ к дискам, принтерам и другим периферийным устройствам . Этот метод, среди прочего, также позволяет суперпользователю делегировать некоторые административные задачи обычным пользователям, аналогично группе «Администраторы» в Microsoft Windows NT и ее производных.

Идентификатор группы , часто сокращенно GID , представляет собой числовое значение, используемое для представления определенной группы. [1] Диапазон значений для GID различается в разных системах; по крайней мере, GID может быть от 0 до 32 767, с одним ограничением: группа входа для суперпользователя должна иметь GID 0. Это числовое значение используется для ссылки на группы в файлах /etc/passwdи /etc/groupили их эквивалентах. Файлы теневых паролей и Network Information Service также ссылаются на числовые GID. Идентификатор группы является необходимым компонентом файловых систем и процессов Unix .

Дополнительные группы

В системах Unix каждый пользователь должен быть членом как минимум одной группы, основной группы , которая идентифицируется числовым GID записи пользователя в базе данных passwd, которую можно просмотреть с помощью команды getent passwd(обычно хранится в /etc/passwdили LDAP ). Эта группа называется основным идентификатором группы . Пользователь может быть указан как член дополнительных групп в соответствующих записях в базе данных групп, которую можно просмотреть с помощью getent group(обычно хранится в /etc/groupили LDAP ); идентификаторы этих групп называются дополнительными идентификаторами групп .

Эффективный против реального

Процессы Unix имеют эффективный (EUID, EGID), реальный (UID, GID) и сохраненный (SUID, SGID) идентификатор. Обычно они идентичны, но в setuidи setgidпроцессах они различны.

Конвенции

Тип

Первоначально использовалось 16-битное целое число со знаком. Поскольку знак был не нужен — отрицательные числа не являются допустимыми идентификаторами групп — теперь вместо него используется целое число без знака, допускающее идентификаторы групп от 0 до 65 535. Современные операционные системы обычно используют 32-битные целые числа без знака, допускающие идентификаторы групп от 0 до 4 294 967 295.

Зарезервированные диапазоны

Многие системы Linux резервируют диапазон номеров GID от 0 до 99 для статически выделенных групп и либо 100−499, либо 100−999 для групп, динамически выделенных системой в скриптах после установки. Эти диапазоны часто указываются в /etc/login.defs, для useraddи groupaddподобных инструментах.

В FreeBSD портировщики, которым нужен GID для своего пакета, могут выбрать свободный из диапазона от 50 до 999, а затем зарегистрировать это статическое выделение в портах/GID. [2]

Особые ценности

Персональные группы

Многие системные администраторы выделяют для каждого пользователя также персональную первичную группу, которая имеет то же имя, что и имя пользователя для входа, и часто также имеет тот же числовой GID, что и UID пользователя. Такие персональные группы не имеют других участников и упрощают совместную работу с другими пользователями в общих каталогах, позволяя пользователям привычно работать с umask 0002. Таким образом, вновь созданные файлы могут иметь по умолчанию разрешения на запись, включенные для членов группы, поскольку это обычно включает доступ на запись только для членов персональной группы, то есть только для владельца файла. Однако, если файл создается в общем каталоге, который принадлежит другой группе и имеет установленный бит setgid , то созданный файл автоматически станет доступным для записи также и для членов группы этого каталога.

Во многих системах Linux USERGROUPS_ENABпеременная in /etc/login.defsуправляет тем, будут ли команды типа useraddили userdelавтоматически добавлять или удалять связанную персональную группу.

Смотрите также

Ссылки

  1. ^ "Определения". pubs.opengroup.org . Получено 2021-12-06 .
  2. ^ FreeBSD Porter's Handbook, Раздел 6.26: Добавление пользователей и групп
  3. ^ "chown". pubs.opengroup.org . Получено 2021-12-06 .
  4. ^ "Пространства имен в действии, часть 5: Пользовательские пространства имен [LWN.net]". lwn.net . Получено 2021-12-06 .