Вот:
http://man7.org/linux/man-pages/man5/systemd.exec.5.html
Есть хорошее объяснение, в котором говорится, что есть что-то вроде «группа, в которой выполняются процессы». Однако я не смог найти, что именно это такое. Я заметил, что установка параметра «Группа» в сценарии systemd изменяет разрешение на то, где могут быть созданы файлы. То есть без опции мне было разрешено записать определенный файл, а с ним - нет.
Это говорит о том, что «группа, в которой выполняются процессы», делает больше, чем просто определяет группу вновь созданных файлов, она также повышает или уменьшает права доступа.
К сожалению, есть еще что-то, называемое «группой процессов», которое похоже на набор процессов, которые, как мне кажется, не меняют разрешения и права. Но это затрудняет поиск в Google.
Может ли кто-нибудь объяснить мне, что такое «группа, в которой выполняются процессы»?
«Группа» здесь означает «группа Unix», имея в виду группы, определенные в /etc/group
. Вместе с User=
директива Group=
устанавливает пользователя и группу Unix, от имени которых выполняется процесс.
Применяется обычная модель разрешений Unix, поэтому, если вы запускаете «службу пользователя» из ~ / .config / systemd, допустимо указывать только группы, членом которых является пользователь.
Из Многопользовательское владение и разрешения в Unix / Linux
процессы также принадлежат определенному идентификатору пользователя и группе; это определяет, кому и что разрешено делать с файлом (или каталогом, который является типом файла), и какие файлы конкретному процессу разрешено читать, писать или выполнять.
На практике службы, которые не запускаются с правами root, как правило, работают от имени пользователя, связанного с одной группой, что делает Group=
директива не особо значима. Например, база данных MongoDB работает как mongodb
пользователь и mongodb
группа. Важно то, что группа уникальный так что доступ к процессу MongoDB максимально ограничен.