Bevorzugter Standort für die PID-Datei des system-daemon laufen als nicht-root-Benutzer
Meine Frage ist in Bezug auf diese Frage, aber die betreffenden Vorgänge ausgeführt werden, von der cron, und von nicht-root-Benutzer. Als solche, viele der user haben nicht wirklich home-dirs (oder deren home-dirs zeigen Sie auf /usr/share/package_name
ist nicht der ideale Ort für eine PID-Datei).
Speicherung in /var/run
ist problematisch, weil dieses Verzeichnis nicht beschreibbar ist, außer durch root.
Könnte ich /tmp
, aber ich Frage mich, ob dies ist ideal für Sicherheits-Gründen.
Könnte ich gerne für ein startup-Skript ein Verzeichnis erstellen, in /var/run
Besitz des entsprechenden user (ich kann nicht dieses Paket installieren Zeit, als /var
ist oft angebracht, als tmpfs, ist also nicht persistent).
Was ist die best practice hier?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schöne Frage :), ich habe genau das gleiche im moment. Ich bin mir nicht sicher, ob diese Antwort richtig ist, aber ich hoffe, es hilft und ich würde mich über feedback freuen, wie gut.
Habe ich gegoogelt um und fand, dass die Registrierung der pro-Benutzer-daemon als dbus service ist eine elegante Lösung. dbus könnte stellen Sie sicher, dass der Dienst läuft nur einmal. keine Notwendigkeit für eine PID-Datei.
Andere Lösung (meine aktuellen) wäre die PID-Datei in ein Verzeichnis wie:
Nach deinem Kommentar musste ich feststellen, dass Sie nicht schreiben kann, zu Hause. Ich würde vorschlagen, zu schauen, dbus
Update
Ich habe eine Idee. Was ist, wenn Sie Verwendung von /tmp, aber auf der Suche nach einer PID-Datei, die aufgerufen wird, yourdaemon.pid.UNIQUE_KEY und ist im Besitz der daemon-Benutzer? Dies sollte gut funktionieren.
UNIQUE_KEY
sollten zufällig generiert (bevorzugt ist die Verwendung tempnam, wie es ist "race" - Bedingung Beweis).