
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, DynamicUser
um 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 ExecStart
habe ich den Pfad /var/cache/bazel-remote
zur Bazel-Remote-Binärdatei übergeben.
Das Problemist, dass die bazel-remote
Binä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-remote
und 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-remote
gerne nutzen .DynamicUser
Was könnte los sein? Wie kann ich den Berechtigungsfehler beheben?