Ich versuche, einen Konfigurationsmechanismus zu implementieren, der es in einem bestimmten Projekt ermöglicht, über svn eine Cron-Konfiguration bereitzustellen.
Ich dachte sofort, dass ich Symlinks von /etc/cron.d/ auf die Cron-Datei meines Projekts erstellen sollte (die wiederum von einem VCS gesteuert wird), aber das scheint nicht zu funktionieren.
Ich fand einige alte Forumsnachrichten, die darauf hinwiesen, dass Symlinks nicht unterstützt wurden, und andere, die dies sagten. Welches ist es?
Gibt es noch etwas oder einen anderen guten Weg, um dies zu erreichen?
quelle
/etc/cron.d/bobsjob
auf eine Datei verweist, die dem Benutzer "bob" cron gehört, schlägt die Syslog-Meldung fehlWRONG FILE OWNER (/etc/cron.d/bobsjob)
.sudo -u www-data crontab -e
und fügen Sie es der Crontab des WWW-Datenbenutzers hinzu. Es wird dann als Benutzer ausgeführtwww-data
. Denken Sie daran, die explizite Benutzerspalte zu entfernen, da sie in Benutzer-Crontabs nicht vorhanden ist.etc/cron.
? Ich hatte den Eindruck, crontab tool würde die Aufgabe woanders platzieren.crontab -e
sind in diesem Fall nicht das, was Sie wollen. Ich suche, habe aber keine Möglichkeit gefunden, einen Benutzer crontab als Nicht-Root-Benutzer auszuführen.Dies hat Auswirkungen auf die Sicherheit. Die Skripte in /etc/cron.d/ werden von root mit root-Rechten ausgeführt. Es ist eine schlechte Idee, dort Skripte zu verknüpfen, die sich im Besitz von und beschreibbar für Nicht-Root-Benutzer befinden, da Ihr System auf diese Weise kompromittiert werden könnte
quelle
Ich würde die Cron-Manpage für Ihre Ubuntu-Version überprüfen (ich gehe davon aus, dass wir in diesem Forum über Ubuntu sprechen!):
Wie Florian betont, handelt es sich bei dieser Datei, die von Nicht-Root-Benutzern geschrieben werden kann, um eine Sicherheitslücke, da die Jobs von Root ausgeführt werden (für jeden, der in der Datei als Jobbesitzer angegeben ist). Beachten Sie daher auch, dass
Geben Sie den Benutzernamen vor dem auszuführenden Befehl ein.
quelle