Ubuntu
touch: kann `/var/run/test.pid 'nicht berühren: Erlaubnis verweigert
Ich starte start-stop-daemon und möchte die PID-Datei in / var / run schreiben. Start-stop-daemon wird als my-program-user ausgeführt
Die Einstellung / var / run ist drwxr-xr-x 9 root root
Ich möchte es vermeiden, meinen Programmbenutzer in die Stammgruppe aufzunehmen.
quelle
/var/run/mydaemon
Verzeichnis verschwunden./tmp
oder~
.Dies wird nicht funktionieren, da es beim nächsten Neustart verloren geht (
/var/run
ist ein tmpfs unter Ubuntu).Die einzig mögliche Lösung ist, mkdir und chmod als Teil der Startskripte auszuführen.
quelle
Sie können dies versuchen. Erstellen Sie ein Verzeichnis / var / run / test / und ändern Sie die Berechtigung dieses Verzeichnisses auf denselben Benutzer, den Ihr Programm ausführt. msgstr "chown / var / run / test /". Ändern Sie nun in Ihrer Anwendung den Speicherort der PID-Datei in /var/run/test/test.pid. Dies sollte die Dinge zum Laufen bringen.
quelle
Was ist mit dem "sticky" -Bit auf / var / run?
chmod + t / var / run?
Vermutlich einige andere Apps versauen, aber es scheint, als wäre es eine andere Lösung.
Ich bleibe jedoch beim Erstellen eines separaten / var / run-Ordners.
quelle
Einträge im
/etc/permissions
sind permanent. Machen Sie dort einen Eintrag, um den Besitz und die Berechtigungen für ein Verzeichnis dauerhaft zu machen.quelle
Um zu vermeiden, dass Ihr Programmbenutzer in die Stammgruppe aufgenommen wird, gewähren Sie anderen Benutzern Schreibzugriff:
quelle
chmod 757
wird es auch nur bis zum nächsten Neustart funktionieren. Es tut uns leid, eine neue Antwort zu erstellen, aber es scheint keine Möglichkeit zu geben, auf den anderen Kommentar zu antworten.chmod
on zu machen/var/run
. Der Autor hat es möglicherweise für das Unterverzeichnis application gedacht. Ich bin mir nicht sicher, worum es geht.