Служба Systemd с DynamicUser не может записывать в свой CacheDirectory

Служба Systemd с DynamicUser не может записывать в свой CacheDirectory

Я использую OpenSuse Leap 15.4.

Я создал файл блока дляbazel-удалённыйудаленный кэш-сервер для системы сборки Bazel.

Я хотел использовать эту DynamicUserфункцию, чтобы сделать сервис более безопасным и избежать необходимости вручную создавать пользователя для сервиса. Я установил следующие параметры в [Service]разделе файла:

DynamicUser=yes
CacheDirectory=bazel-remote

Затем, в ExecStart, я передал путь /var/cache/bazel-remoteк двоичному файлу bazel-remote.

Проблемазаключается в том, что bazel-remoteдвоичный файл работает вошибки разрешенияпри попытке записи в папку. Он успешно создает структуру каталогов внутри папки, например: /var/cache/bazel-remote/cas.v2/00, но онпроисходит сбой при попытке создать файл внутри.

Я проверил, что владелец и группа всей структуры папок соответствуют UID динамического пользователя, работающего bazel-remote, а разрешения установлены на 755, поэтому я не понимаю, почему он не может записать туда файл.

Я изменил свой unit-файл, чтобы использовать фиксированного пользователя и группу, и это работает без проблем, так что проблема не в bazel-remoteсамом бинарнике. Но я хотел бы использовать эту DynamicUserфункцию.

Что может происходить? Как устранить ошибку разрешения?

Связанный контент