ubuntuusers.de

python mit php über sudoers aufrufen

Status: Gelöst | Ubuntu-Version: Xubuntu 20.04 (Focal Fossa)
Antworten |

horald

Anmeldungsdatum:
6. Januar 2011

Beiträge: 240

Wohnort: Köln

Hallo zusammen,

ich möchte gerne ein Python-Programm über php aufrufen. Dazu verwende ich folgenden Befehl:

1
  shell_exec("sudo /usr/bin/python3 /home/user/meinprogramm1.py");

Dieser Befehl wird aber erst ausgeführt nachdem ich dies in der /etc/sudoers Datei eingetragen habe:

www-data ALL=(ALL) NOPASSWD: /usr/bin/python3 /home/user/meinprogramm1.py
www-data ALL=(ALL) NOPASSWD: /usr/bin/python3 /home/user/meinprogramm2.py

Mit dem Programm meinprogramm1.py funktioniert dies auch prima, aber meinprogramm2.py wird trotzdem nicht ausgeführt. Was mache ich falsch? Danke für einen hilfreichen Tipp

Viele Grüße Horst

horald

(Themenstarter)

Anmeldungsdatum:
6. Januar 2011

Beiträge: 240

Wohnort: Köln

hat sich erledigt! Ich habe zwischenzeitlich herausgefunden dass nur python in die sudoers gehört und die Programme mit dem Recht www-data versehen werden müssen.

fleet_street

Top-Wikiautor
Avatar von fleet_street

Anmeldungsdatum:
30. August 2016

Beiträge: 2400

Wohnort: Hunsrück (dunkle Seite)

Reißt du dir damit nicht ein riesiges Sicherheitsloch? 😲 Wenn du das ausschließlich lokal machst, mag das wohl angehen. Aber php und www-data verbinde ich mit einem Server, der naturgemäß über das Netzwerk erreichbar sein sollte. Und da sollte man doch keine Skripte aus dem Benutzerverzeichnis als Systemverwalter starten!

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

horald schrieb:

[…] Python-Programm über php aufrufen […]

  shell_exec("sudo /usr/bin/python3 /home/user/meinprogramm1.py");

[…] in der /etc/sudoers Datei eingetragen

Bei solchem Leichtsinn, gepaart mit offensichtlicher Inkompetenz und mangelndem Sicherheitsbewusstsein gehört Dir sofort der Internet-Führerschein entzogen!

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

was macht das Python-Programm, dass es Root-Rechten braucht?

Das Problem ist, dass die damit über eine Webseite, die serverseitig normalerweise mit sehr niedrigen Rechten läuft (Nutzer: www-data) einen anderen Prozess startest, der quasi maximale Rechte hat.

Gruß, noisefloor

Antworten |