Cronjob als Befehlszeile (z.B. wget) schlägt fehl

Aus Glaskugel
Zur Navigation springen Zur Suche springen

Es kommt auf unseren AlmaLinux Systemen momentan zu dem Phänomen, dass Cronjobs von Kunden, die ihre geplante Aufgabe als "Befehl ausführen" angelegt haben, nicht ausgeführt werden können.
Ob es nun nur bei migrierten Kunden auftritt, oder grundsätzlich bei AlmaLinux konnte noch nicht ganz repliziert werden.
Es scheint die chroot-Umgebung nicht korrekt angelegt zu werden und muss daher manuell angepasst werden. Geplante Aufgaben die als "Befehl ausführen" vom Kunden angelegt werden, werden durch Plesk nämlich sicherheitshalber nicht via /bin/bash ausgeführt, sondern mit stark abgespeckten Rechten der /bin/bash (chrooted).

Tendenziell hat der Kunde exakt keinen Vorteil wenn er, insbesondere für einen simplen URL Aufruf, die Option "Befehl ausführen" verwendet anstelle von "URL aufrufen". Der erste und wirksamste Tipp ist also der, die geplante Aufgabe als "URL aufrufen" anzulegen.

Hier nun dennoch ein Workaround:



1. Logge Dich als 'admin' in Plesk ein und gehe in das Abonnement des betreffenden Kunden
2. Gehe in die FTP-Einstellungen und wähle dort den Systemuser aus
Hat der Kd. mehrere FTP Nutzer ist der Systemuser stets der, den Du nicht löschen könntest (Auswahlbox deaktiviert)
3. Aktiviere im Dropdown "Zugriff auf den Server via SSH" die Option "/bin/bash (chrooted)"
Bestätige die Änderung mit OK
4. Logge Dich nun als User 'root' via SSH auf dem Server ein und
5. Bearbeite die wgetrc mit folgendem Befehl
mcedit /etc/wgetrc
Der letzte Eintrag dieser Konfiguration lautet #secureprotocol = auto
Entferne die Raute (#) und ändere die Zeile auf
secureprotocol = TLSv1
6. Kopiere diese bearbeitete Datei nun in das /chroot Verzeichnis
cp -a /etc/wgetrc /var/www/vhosts/chroot/etc/
7. Installiere ein Plesk Script zum Aktualisieren der chroot-Umgebung
wget https://plesk.zendesk.com/hc/article_attachments/360023025260/update_chroot.zip
unzip update_chroot.zip ; chmod u+x ./update_chroot.sh
8. Aktualisiere nun wget in der chroot-Umgebung
./update_chroot.sh --add wget
9. Änderung anwenden auf alle Domains
./update_chroot.sh --apply all
10. Gehe bei dem betreffenden Kunden nun in Plesk wieder in die FTP-Einstellungen und wähle den Systemuser aus
3. Wähle im Dropdown "Zugriff auf den Server via SSH" die Option "Forbidden"
Bestätige die Änderung mit OK