Cronjobs

Dieses Thema im Forum "Allgemein" wurde erstellt von AndréS, 28. Feb. 2008.

  1. AndréS

    AndréS New Member

    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
     
  2. Till

    Till Administrator

    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.
     
  3. AndréS

    AndréS New Member

    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é
     
  4. Feanwulf

    Feanwulf Member

    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!
     
  5. AndréS

    AndréS New Member

    Gut, okay. Verstanden.

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

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

    André
     
  6. AndréS

    AndréS New Member

    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é
     
  7. Feanwulf

    Feanwulf Member

    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!
     
  8. Feanwulf

    Feanwulf Member

    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
     
  9. AndréS

    AndréS New Member

    danke dir!

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

    André
     
  10. Feanwulf

    Feanwulf Member

    Noch ein kleiner Hinweis!

    Den Standard-SSH Port 22 auf einen anderen Port ändern hilft auch vor unbefugten Zugriffen - und/oder Blockhost & fail2ban installieren ;)
     
  11. AndréS

    AndréS New Member

    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:
    Code:
    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é
     
  12. Till

    Till Administrator

    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!
     
  13. Feanwulf

    Feanwulf Member

    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';
     
  14. Feanwulf

    Feanwulf Member

    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!
     
  15. AndréS

    AndréS New Member

    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é
     
  16. AndréS

    AndréS New Member

    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é
     
  17. Feanwulf

    Feanwulf Member

    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!
     
  18. AndréS

    AndréS New Member

    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é
     
  19. make-fun

    make-fun New Member

    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ß
     
  20. Feanwulf

    Feanwulf Member

    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!
     

Diese Seite empfehlen