Команда groupadd

Команда groupadd предназначена для задействования одноименной утилиты, осуществляющей создание групп пользователей. Данная команда требует привилегий суперпользователя (или пользователя root) и значительно упрощает процесс создания групп пользователей по сравнению с командой vigr, которая позволяет редактировать файл базы данных групп пользователей с помощью текстового редактора vi.

Базовый синтаксис команды выглядит следующим образом:

# groupadd [параметры] имя-группы

Единственным обязательным параметром утилиты является имя новой группы пользователей. Все остальные параметры позволяют изменить стандартные параметры групп пользователей и используются лишь в случае необходимости. Среди параметров утилиты следует отметить параметр -f, позволяющий корректно завершать работу утилиты в случае совпадения имени или идентификатора новой группы пользователей с именем или идентификатором одной из существующих групп пользователей, параметр -g, позволяющий явно задать числовой идентификатор группы пользователей, параметр -K, позволяющий изменить значение переменной из файла конфигурации /etc/login.defs (используется формат ИМЯ_ПЕРЕМЕННОЙ=ЗНАЧЕНИЕ, допускается многократное использование параметра -K), параметр -o, позволяющий задать не уникальный идентификатор группы пользователей, параметр -r, позволяющий создать системную группу пользователей (системная группа пользователей отличается от обычной группы пользователей идентификатором; идентификаторы системных групп пользователей находятся в диапазоне SYS_GID_MINSYS_GID_MAX, а обычных групп пользователей — в диапазоне GID_MINGID_MAX) и параметр -R, позволяющий использовать директорию из окружения chroot.

На работу утилиты оказывают влияние некоторые переменные из файла конфигурации /etc/login.defs. В частности, диапазон идентификаторов групп обычных пользователей задается с помощью переменных GID_MIN и GID_MAX, диапазон групп системных пользователей — с помощью переменных SYS_GID_MIN и SYS_GID_MAX, а максимальное количество имен пользователей в записи, соответствующей группе — с помощью переменной MAX_MEMBERS_PER_GROUP (используется крайне редко).

Примеры использования

Создание группы пользователей

Для создания обычной группы пользователей достаточно использовать утилиту groupadd без каких-либо параметров. Для создания группы пользователей требуются права суперпользователя.

# groupadd regularusers

В результате будет создана группа пользователей с именем regularusers. Запись, соответствующую новой группе пользователей, можно получить с помощью утилиты grep:

$ grep regularusers /etc/group
regularusers:x:1001:

Примечание: для добавления пользователей в группу может использоваться команда useradd или adduser.

Создание группы пользователей с заданным идентификатором

Для того, чтобы создать группу пользователей с заданным идентификатором достаточно использовать параметр -g.

# groupadd -g 5000 newusers

В результате будет создана группа пользователей newusers с идентификатором 5000. А это запись, соотвествующая новой группе пользователей:

$ grep newusers /etc/group
newusers:x:5000:

Очевидно, что новая группа пользователей имеет идентификатор 5000, который был явно указан при использовании утилиты.

Создание группы пользователей с идентификатором из диапазона

Для того, чтобы создаваемой группе был присвоен идентификатор из заданного диапазона, следует изменить значения диапазона идентификаторов групп пользователей с помощью параметра -K.

# groupadd -K GID_MIN=5001 -K GID_MAX=5100 selectedusers

Теперь идентификатор новой группы пользователей selectedusers будет выбран из диапазона от 5001 до 5100.

$ grep selectedusers /etc/group
selectedusers:x:5001:

В нашем случае новая группа пользователей получила первое значение из заданного диапазона.