Der Systemd-Dienst mit DynamicUser kann nicht in sein CacheDirectory schreiben.

Der Systemd-Dienst mit DynamicUser kann nicht in sein CacheDirectory schreiben.

Ich verwende OpenSuse Leap 15.4.

Ich habe eine Unit-Datei erstellt für diebazel-fernbedienungRemote-Cache-Server für das Bazel-Build-System.

Ich wollte die Funktion nutzen, DynamicUserum den Dienst sicherer zu machen und zu vermeiden, dass ich manuell einen Benutzer für den Dienst erstellen muss. Ich habe im [Service]Abschnitt der Datei die folgenden Parameter festgelegt:

DynamicUser=yes
CacheDirectory=bazel-remote

Dann ExecStarthabe ich den Pfad /var/cache/bazel-remotezur Bazel-Remote-Binärdatei übergeben.

Das Problemist, dass die bazel-remoteBinärdatei inBerechtigungsfehlerbeim Versuch, in den Ordner zu schreiben. Es erstellt erfolgreich die Verzeichnisstruktur innerhalb des Ordners, wie: /var/cache/bazel-remote/cas.v2/00, aber esschlägt fehl, wenn versucht wird, eine Datei innerhalb von.

Ich habe überprüft, dass der Besitzerbenutzer und die Gruppe der gesamten Ordnerstruktur mit der UID des ausführenden dynamischen Benutzers übereinstimmen bazel-remoteund die Berechtigungen auf eingestellt sind 755. Daher verstehe ich nicht, warum dort keine Datei geschrieben werden kann.

Ich habe meine Unit-Datei so geändert, dass ein fester Benutzer und eine feste Gruppe verwendet werden, und das funktioniert problemlos. Das Problem liegt also nicht an der Binärdatei selbst. Aber ich würde die Funktion bazel-remotegerne nutzen .DynamicUser

Was könnte los sein? Wie kann ich den Berechtigungsfehler beheben?

verwandte Informationen