O serviço Systemd com DynamicUser não pode gravar em seu CacheDirectory

O serviço Systemd com DynamicUser não pode gravar em seu CacheDirectory

Estou executando o OpenSuse Leap 15.4.

Eu criei um arquivo de unidade para obazel-remotoservidor de cache remoto, para o sistema de compilação Bazel.

Eu queria usar o DynamicUserrecurso para tornar o serviço mais seguro e evitar a necessidade de criar manualmente um usuário para o serviço. Defino os seguintes parâmetros na [Service]seção do arquivo:

DynamicUser=yes
CacheDirectory=bazel-remote

Então, no ExecStart, passei o caminho /var/cache/bazel-remotepara o binário bazel-remote.

O problemaé que o bazel-remotebinário está sendo executadoerros de permissãoao tentar gravar na pasta. Ele cria com sucesso a estrutura de diretórios dentro da pasta, como: /var/cache/bazel-remote/cas.v2/00, masfalha ao tentar criar um arquivo dentro.

Verifiquei que o usuário proprietário e o grupo de toda a estrutura de pastas correspondem ao UID do usuário dinâmico em execução bazel-remotee as permissões estão definidas como 755, por isso não entendo por que ele não pode gravar um arquivo lá.

Modifiquei meu arquivo de unidade para usar um usuário e grupo fixos e ele funciona sem problemas, portanto o problema não é o bazel-remotebinário em si. Mas eu gostaria de usar o DynamicUserrecurso.

O que poderia estar acontecendo? Como posso resolver o erro de permissão?

informação relacionada