ISPConfig User web9 muss Dienst steuern

#1
Hallo zusammen,

der User web9 auf meinem Webserver gehört zu einem Webradio. Dieser User soll jetzt einen von einem Cronjob gestarteten Dienst stoppen und starten können.

Szenario:

Service wird um 16 Uhr automatisch gestartet (Musik-Bot)
User klickt auf "beenden", um den Dienst zu beenden
Nach seiner Sendung klickt der User wieder auf "StarteN", und der Dienst läuft wieder an.

Wie kriege ich es hin?

Cronjobs liefen (wie wir ja wissen) bisher nicht optimal... eher gesagt gar nicht :D

Grüße

Zero
 

Till

Administrator
#2
Service wird um 16 Uhr automatisch gestartet (Musik-Bot)
User klickt auf "beenden", um den Dienst zu beenden
Nach seiner Sendung klickt der User wieder auf "StarteN", und der Dienst läuft wieder an.
User die nicht root sind können keine Dienste starten oder stoppen. Du kannst das also nur über einen Umweg machen, indem Du einen Befehl z.B. zum stoppen vom user web9 in eine Datei schreiben lässt und dann einen regelmäßig laufenden root cronjob diese Datei auswertest und dann entsprechende Aktionen ausführst.

Cronjobs liefen (wie wir ja wissen) bisher nicht optimal... eher gesagt gar nicht
Dann solltest Du vielleicht mal die Einstellungen Deines Servers sowie Deine Cronjobs prüfen. Bei mir laufen alle Cronjobs einwandfrei und es gibt auch keinerlei bekannte Bugs im aktuellen ISPConfig release.
 
#3
Ich hoffe, dass die Security-Scanner mit diesen orkaround nicht zerschießen:

Als Root:

Code:
crontab -u web9 -e
ausführen, dann den Cronjob eintragen (ein Batchscript, welches sich im Webverzeichnis befindet, welches wiederum einen Dienst startet, dessen binary sich AUCH im Webverzeichnis befindet).

und er wird wunderbar ausgeführt.

Hoffentlich knallt mir kein Sicherheitsmechanismus diese Crontab auf Standard zurück!

EDIT: Der Start ist geglückt, aber Houston, wir haben ein problem: Wenn ich auf einen Link klicke, der den Bot wieder stoppen soll, passiert gar nix. Unter welchem user werden denn per exec() ausgeführte Commands ausgeführt? Unter dem Webseiten user?
 
Zuletzt bearbeitet:

Till

Administrator
#4
Du bringst da ein paar Sachen durcheinander, ISPConfig trägt die Crons mittels "crontab -u web9 -e" wenn Du nicht jailed cron für den Kunden ausgewählt hast. Es ist alsonicht notwendig die Crontab manuell zu bearbeiten. Hast Du aber jailed crons ausgewählt, dann läuft der cronjob im jail und kann natürlich auch nur Programe ausführen die im jail sind.

Unter welchem user werden denn per exec() ausgeführte Commands ausgeführt?
Das hängt von Den Einstellungen ab, die Du im Web vorgenommen hast. Wenn Du mod_php verwendest, ist der user www-data, wenn du cgi+suexec, fcgi+suexec bzw suphp nimmst, dann ist es User web9.
 

Werbung