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