Назад | Перейти на главную страницу

Как присваиваются идентификаторы групп?

Я хочу создать developers группа в моей системе OS-X. Выполняю:

sudo dscl . -create /groups/developers
sudo dscl . -append /groups/developers passwd 'blah'

Насколько я понял из чтения различных источников, я должен назначить идентификатор группе с

sudo dscl . -append /groups/developers gid xxx

где xxx - желаемый идентификатор. У меня вопрос, какое значение подходит для ххх? Есть соглашение? Есть ли ПЛОХОЙ выбор? Должен ли я беспокоиться о том, что кто-то еще захочет использовать тот же идентификатор группы?

При выборе идентификатора группы необходимо учитывать одну вещь: этот идентификатор еще не используется другой группой. Чтобы перечислить идентификаторы существующих групп в числовом порядке, вы можете:

dscl . -list /groups PrimaryGroupID | awk '{print $2}' | sort -n

OS X обычно использует разные диапазоны идентификаторов для разных типов учетных записей. Вот текущий макет, насколько я понимаю:

до 100: зарезервировано для статических системных (встроенных) групп
101 - 199: используется ОС для динамически создаваемых групп (например, групп доступа к общим точкам)
200 -?: Больше статических системных групп (очевидно, 100 было недостаточно)
400 - 500: более динамичные системные группы
501 и выше: группы, созданные локальными администраторами
1024 и выше: доменные группы, созданные администраторами

Поскольку вы создаете локальную группу, я бы поискал первый доступный идентификационный номер выше 500.