# Cronjobs



## AndréS (28. Feb. 2008)

Hallo Till und liebe Gemeinde,

also ich habe da mal ne Frage. Ich brauche für ein Script auf meinen Server ein Cronjob. Ich weiß bei Confixx konnte man diese einfach einrichten. Geht das hier auch? Wenn ja wie? 
Ich habe auch dran gedacht irgendwo bei Cronjob.de oder sowas einfach ein Cronjob zu nehmen, aber ich mag es doch lieber wenn das auf meinem Server alles liegt. Ist mir sicherer.

Wenn das von Natur aus nicht geht, gibt es ne Möglichkeit irgendwas zu installieren, was Cronjobs "ausbildet".

Vielen Dank

AndréS


----------



## Till (28. Feb. 2008)

Cron ist ein Linux Programm, dass auf jedem Linux System installiert ist. Cronjobs kannst Du auf der Shell mit dem Folgenden Befehl anlegen:

crontab -e

Wenn Du den Befehl als root User aufrufst, dann laufen die cronjobs auch als root user.


----------



## AndréS (28. Feb. 2008)

Vielen lieben Dank.

MIt der Shellebene ist aber nicht die als root die ich zum einloggen auf meinem Server habe, sondern die, die ich bei ISPConfig dem Kunden freistellen kann oder?

Danke dir

André


----------



## Feanwulf (28. Feb. 2008)

Also wenn du als ROOT einloggst per SSH bist du auf der Shell des Servers! Dort kannst du mit "crontab -e" Cronjobs für den Benutzer ROOT einrichten.

Logst du dich bzw dein Kunde mit seinem Benutzer ein (hoffentlich CHROOT gesichert), kann der Kunde auch mit "crontab -e" Cronjobs einrichten, die allerdings dann mit den Rechten des Benutzers ausgeführt werden!

Wenn ein Kunde Cronjobs braucht, um zB ein PHP Script aufzurufen solltest du stets durch suPHP und mit CHROOT SSH dem Kunden selbst die Möglichkeit geben und Cronjobs nicht unter ROOT einrichten.

Beispiel:  Kunde hat ein PHP-Script, welches unter Root per Cronjob ausgeführt wird. Alles läuft super, dann ist er auf einmal böse auf dich und ändert seine PHP Datei und trägt einen befehl ein, um zB das VAR Verzeichnis deines Servers zu löschen. Als Root kein problem. Unter suPHP mit eigenem Benutzer wäre der Zugriff verweigert!


----------



## AndréS (28. Feb. 2008)

Gut, okay. Verstanden.

Ob es chroot gesichert ist weiß ich nicht. Wie finde ich das heraus? Und das suPHP, was ist das genau?  

Weil SSH habe ich bis jetzt noch nicht mal bei mir erlaubt 

André


----------



## AndréS (28. Feb. 2008)

Ich habe das mal gerade nur bei mir aktiviert und wollte mich mit Putty anmelden um mir das mal anzusehen. 

Nachdem ich meine Zugangsdaten eingegeben habe web32_xxxx und PW: xxxx hat Putty was gesagt, aber hat sich in der Zeit auch gleich abgeschaltet. Also komplett weg. 
Muss ich das über ein anderes Tool machen?

Danke euch/dir

André


----------



## Feanwulf (28. Feb. 2008)

Du musst SHELL -Zugriff im Webhosting aktivieren UND dann auch noch bei dem Benutzer - da ist dann nämlich eine neue Checkbox!

Schau mal ob der Haken gesetzt wurde!


----------



## Feanwulf (28. Feb. 2008)

Zitat von AndréS:


> Gut, okay. Verstanden.
> 
> Ob es chroot gesichert ist weiß ich nicht. Wie finde ich das heraus? Und das suPHP, was ist das genau?
> 
> ...


Sicherheitsfunktionien, damit deine Kunden nicht allzuviel Mist machen können:

http://www.howtoforge.de/howto/chrooted-ssh-unter-debian/

http://www.howtoforge.com/install-s...tions-for-use-with-ispconfig-2.2.20-and-above


----------



## AndréS (28. Feb. 2008)

danke dir!

Für beides! Das eine werde ich mir durchlesen.
Und du hast recht, jetzt funktioniert das 

André


----------



## Feanwulf (28. Feb. 2008)

Noch ein kleiner Hinweis!

Den Standard-SSH Port 22 auf einen anderen Port ändern hilft auch vor unbefugten Zugriffen - und/oder Blockhost & fail2ban installieren


----------



## AndréS (29. Feb. 2008)

Oh ok, werde ich mir dann auch mal durchlesen. 

Wie ich den Port umändere weiß ich nicht wirklich. Mache jetzt erstmal das Chroot. Leider gibt es bei dieser Ausführung: 
	
	



```
APPS="/bin/bash /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors"
for prog in $APPS;  do
        cp $prog ./$prog

        # obtain a list of related libraries
        ldd $prog > /dev/null
        if [ "$?" = 0 ] ; then
                LIBS=`ldd $prog | awk '{ print $3 }'`
                for l in $LIBS; do
                        mkdir ./`dirname $l` > /dev/null 2>&1
                        cp $l ./$l
                done
        fi
done
```
immer wieder Probleme. Das kann er nciht machen, weil die Sachen wohl scheinbar nicht existieren! Ich kann ja die Fehlermeldung kopieren wenn es was hilft.

André


----------



## Till (29. Feb. 2008)

> Ich kann ja die Fehlermeldung kopieren wenn es was hilft.


Ja bitte, ohne Fehlermeldung kann ich da nichts zu sagen.

Außerdem brauchst Du von dem SSH chroot Howto lediglich den ersten Teil mit dem neu kompilieren des SSH Daemons machen, den Rest macht alles ISPConfig selbst, nachdem Du SSH chrooting in der datei /home/admispconfig/ispconfig/lib/config.inc.php aktiviert hast. Chrooting ist dann für alle neuen oder geänderten User aktiv.

Irgendwelche Shell Script brauchst Du nicht manuell auszuführen!


----------



## Feanwulf (29. Feb. 2008)

Immer her mit der Fehlermeldung 


Wenn ich mich nicht irre musst du nur Punkt 1 und Punkt 2 der Anleitung für CHROOT SSH ausführen. Danach in der  */home/admispconfig/ispconfig/lib/config.inc.php*

folgenden Eintrag ändern (von 0 auf 1):
*$go_info["server"]["ssh_chroot"] = 1;*

Für suPHP musst du später in der gleichen Datei den Eintrag ändern (auf suphp):
*$go_info["server"]["apache2_php"] = 'suphp';*


----------



## Feanwulf (29. Feb. 2008)

AHH mir fällt gerade wieder was ein - ich hatte den gleichen Fehler!

Es lag daan daß PASTE & Copy von der Anleitung zB in die Konsole bzw Putty nicht funktioniert hatte, weil einfach Zeichen verloren gingen!

Wenn du dir deinen Befehl mal in eine neue Datei kopierst, siehst du was ich meine!


----------



## AndréS (29. Feb. 2008)

Zitat von Feanwulf:


> folgenden Eintrag ändern (von 0 auf 1):
> *$go_info["server"]["ssh_chroot"] = 1;*


Fertig gemacht. Wenn ich das nicht machen brauch, dann brauche ich den Vorgang mit Sicherheit auch ncith wiederholen, denn dann hätte ich euch die Fehlermeldung geben können. Doch ich hatte das alles gestern abend gemacht und war nur wieder sauer auf mich, weil ich dacht ich bin zu blöd dazu  

Aber so hat sich das ja geklärt.

Mit suPHP muss ich das bestimmt installieren. Einfach über apt-get install suphp? 
Oder muss ich vorher was konfigurieren? Wofür ist den suphp? 

Ich danke euch beiden sehr für eure Hilfe. VIELEN VIELEN VIELEN DANK!!!!!!


André


----------



## AndréS (29. Feb. 2008)

Oh okay.

Dann lag es ja doch net an mir  
Soll ich nun noch die letzten Schritte ausführen, aber Till und du sagtest ja auch, dass ISP das macht. Ich denke dann wird das wohl ISP von alleine machen 

Danke dir nochmal

André


----------



## Feanwulf (29. Feb. 2008)

suPHP sorgt dafür, daß PHP Dateien mit dem eingerichteten Benutzer ausgeführt werden und nicht mit dem Apache Benutzer!

Dadurch ist sichergestellt, daß zB das Script von Benutzer A, keine Änderungen an der Website von Benutzer B machen kann!

Oder das Benutzer A durch einen system-Befehl Dateien löscht oder auf den Server überträgt weil Zugriffsrechte gegeben wurden!


----------



## AndréS (29. Feb. 2008)

Aha, gut, das scheint dann auch sehr wichtig zu sein. Ist ja nicht so prickelnd wenn jemand meine Datein löscht oder die von anderen. 

Werde ich dann auch mal suchen und installieren 

Danke Dir

André


----------



## make-fun (1. März 2008)

Hi, nur zur Info — überlegt erst, ob ihr suPHP wirklich braucht/haben wollt, denn die Verwendung von suphp bedeutet quasi, dass PHP immer als CGI läuft — mit den damit verbundenen Performance-Verlusten!

Eine parallele Verwendung von mod_php ist nicht möglich, soweit mir bekannt ist.

Wenn ihr alleine oder mit Kollegen für die PHP-Programmierung verantwortlich seid und keine unbekannten Scripte ablegen dürfen, braucht man wohl kein suphp.

Gruß


----------



## Feanwulf (1. März 2008)

Du hast da natürlich vollkommen recht, daß man suPHP nicht braucht, wenn nur Freunde/Bekannte auf dem Server liegen!

Aber du schaffst es möglicherweise immer deine eingesetzten Programme in der aktuellsten Version zu halten. Willst du auch noch die Websites deiner Freunde jedesmal kontrollieren, was da installiert ist?

Und für ein System was an Fremde (=Kunden) rausgeht gehört schon mehr Sicherheit ins System. Und da sollte dann auch SUEXEC aktiviert sein!


----------

