Группа это просто список пользователей. Группа идентифицируется по имени и GID (Group ID, идентификатор группы). В FreeBSD (и большинстве других UNIX®-подобных системах) ядро для определения прав процесса использует два фактора: его ID пользователя и список групп, которым он принадлежит. Когда вы слышите что-то о «group ID» пользователя или процесса, это обычно означает только первую группу из списка.
Имена групп связываются с ID групп в файле
/etc/group
. Это текстовый файл с четырьмя
разделенными двоеточием полями. Первое поле это имя группы,
второе это зашифрованный пароль, третье это ID группы, а четвертое
это разделенный запятыми список членов группы. Этот файл может
быть безопасно отредактирован вручную (предполагается, конечно,
что вы не сделаете синтаксических ошибок!). За более полным описанием
синтаксиса обратитесь к странице справочника group(5).
Если вы не хотите редактировать /etc/group
вручную, используйте команду pw(8) для добавления и
редактирования групп. Например, для добавления группы,
называемой teamtwo
, и проверки ее существования
вы можете использовать:
#
pw groupadd teamtwo
#
pw groupshow teamtwo
teamtwo:*:1100:Число 1100
это ID группы
teamtwo
. На данный момент в,
teamtwo
нет членов, и поэтому она практически
бесполезна. Давайте изменим эту ситуацию, добавив
jru
в группу teamtwo
.
#
pw groupmod teamtwo -M jru
#
pw groupshow teamtwo
teamtwo:*:1100:jruАргумент к параметру -M
это разделенный
запятыми список пользователей, являющихся членами группы. Из предыдущих
разделов мы знаем, что файл паролей также указывает группу для
каждого пользователя. Пользователь автоматически добавляется системой
к списку групп; пользователь не будет показан как член группы при
использовании pw(8) groupshow
, но эта
информация будет показана при использовании id(1) или похожего
инструмента. Другими словами, с этим параметром программа pw(8)
работает только с файлом /etc/group
; она никогда
не будет пытаться получить дополнительную информацию из файла
/etc/passwd
.
#
pw groupmod teamtwo -m db
#
pw groupshow teamtwo
teamtwo:*:1100:jru,dbАргументом к опции -m
является разделенный запятыми
список пользователей, добавляемых в группу. В отличие от предыдущего
примера, пользователи добавляются в группу, а не замещают имеющийся
список пользователей группы.
%
id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)Как вы можете видеть, jru
является членом
групп jru
и
teamtwo
.
За дальнейшей информацией о pw(8), обратитесь к ее странице
справочника, а за дополнительной информацией о формате файла
/etc/group
к странице справочника
group(5).
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.