SupplementaryGroups=: дополнительные группы службы
Перечисляет дополнительные группы, членом которых становятся процессы службы. Основная группа задаётся отдельно параметром Group=.
Что делает
Это самый аккуратный способ дать доступ: вместо расширения прав на файл службу включают в группу-владельца. Права остаются узкими, а доступ получает только тот, кому он нужен.
Список применяется целиком при запуске: одна несуществующая группа останавливает службу с кодом 216/GROUP. Членство, добавленное в системе командой изменения пользователя, на службу не влияет — только то, что указано здесь.
Где ставится. В секции [Service]. Группы перечисляются через пробел, допустимо несколько строк.
Значения
| Значение | Что происходит |
|---|---|
SupplementaryGroups=docker | доступ к сокету Docker. |
SupplementaryGroups=www-data redis | несколько групп через пробел. |
SupplementaryGroups=systemd-journal | чтение журнала systemd. |
Пример
Служба, которой нужен доступ к сокету обработчика и к журналу.
[Service]
User=app
Group=app
SupplementaryGroups=www-data systemd-journal
Доступ выдан через членство, права на сами файлы при этом не расширялись.
Типичные ошибки
Несуществующая группа в списке останавливает запуск с кодом 216/GROUP.
Изменения требуют перезапуска службы: на работающий процесс новое членство не действует.
Членство, добавленное через usermod, службе не передаётся — оно относится ко входу пользователя в систему.
Связанные ошибки
- status=216/GROUP в systemdКод 216/GROUP: systemd не смог определить или сменить группу из Group= или SupplementaryGroups=. Причины и как проверить.
- Permission denied в журнале службыОтказ в доступе у службы systemd: права на файл, каталоги по пути, пользователь службы, параметры изоляции, SELinux и AppArmor.
- nginx 502 Bad Gateway: connect() failed к приложениюnginx работает, а приложение недоступно: connect() failed, connection refused, no such file or directory для сокета. Разбор 502.
Рядом стоящие параметры
Где важен на практике
Источники
- systemd.exec(5)
- Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)