Hallo Leute,
ich bin neu auf dem Gebiet von PHP und mache gerade meine ersten Geh-Übungen. Leider klappt es bei dem Vorhaben, einen Linux-Befehl mit EXEC abzusetzen, nicht mehr so gut. Jetzt stehe ich so ziemlich auf dem Schlauch und weiss weder vor- noch zurück.
Das Problem:
Normale Linux-Befehle, welche keine Root-Rechte benötigen, funktionieren einwandfrei. Sobald jedoch Root-Rechte benötigt werden, klappt's nicht mehr! Ich habe mir dann auf meinem System SUDO installiert und dem Apache-Server das Recht gegeben, genau diesen einen Linux-Befehl mit der Option NOPASSWD: ausführen zu dürfen. Leider hat auch das nichts gebracht, die Fehlermeldung ist immer die gleiche und mein Freund Google scheint auch keine passenden Antworten mehr für mich zu haben.
Die Fehlermeldung lautet:
Ich habe testeshalber dem User Apache eine Bash-Shell in der passwd Datei zugewiesen, sodass ich mit
eine Shell als Apache-User bekommen habe. Dort konnte ich dann seltsamerweise erfolgreich SUDO mit dem gewünschten Linux-Befehl ausführen. In meinem Fall war das:
Sobald ich aber denselbigen Befehl in einer PHP-Datei vom Web-Server ausführen liess, funktionierte es nicht mehr und ich bekam obige Fehlermeldung.
Muss ich irgendwo noch bestimmte Rechte für den Apache-Server vergeben? Ich weiss wirklich nicht mehr, wo ich noch suchen muss! Aus anderen Berichten und Threads habe ich gelesen, dass es sehr wohl mit SUDO funktioniert. Aber wie????
Mein System:
Gentoo-Linux x64
Apache 2.4
PHP 7.2
Kann mich vielleicht jemand aus meiner misslichen Lage befreien? Ich bin für jeden Tipp und Hinweis sehr dankbar. Auch weitere Informationen liefere ich sehr gerne nach, wenn sie angefordert werden.
Vielen Dank schon mal im Voraus.
Grüsse
Roland
ich bin neu auf dem Gebiet von PHP und mache gerade meine ersten Geh-Übungen. Leider klappt es bei dem Vorhaben, einen Linux-Befehl mit EXEC abzusetzen, nicht mehr so gut. Jetzt stehe ich so ziemlich auf dem Schlauch und weiss weder vor- noch zurück.
Das Problem:
Normale Linux-Befehle, welche keine Root-Rechte benötigen, funktionieren einwandfrei. Sobald jedoch Root-Rechte benötigt werden, klappt's nicht mehr! Ich habe mir dann auf meinem System SUDO installiert und dem Apache-Server das Recht gegeben, genau diesen einen Linux-Befehl mit der Option NOPASSWD: ausführen zu dürfen. Leider hat auch das nichts gebracht, die Fehlermeldung ist immer die gleiche und mein Freund Google scheint auch keine passenden Antworten mehr für mich zu haben.
Die Fehlermeldung lautet:
Code:
sudo: Effektive UID ist nicht 0. Liegt /usr/bin/sudo auf einem Dateisystem mit gesetzter »nosuid«-Option oder auf einem NFS-Dateisystem ohne Root-Rechte?
Ich habe testeshalber dem User Apache eine Bash-Shell in der passwd Datei zugewiesen, sodass ich mit
Code:
su apache
Code:
sudo route add -host 192.168.x.y reject
Muss ich irgendwo noch bestimmte Rechte für den Apache-Server vergeben? Ich weiss wirklich nicht mehr, wo ich noch suchen muss! Aus anderen Berichten und Threads habe ich gelesen, dass es sehr wohl mit SUDO funktioniert. Aber wie????
Mein System:
Gentoo-Linux x64
Apache 2.4
PHP 7.2
Kann mich vielleicht jemand aus meiner misslichen Lage befreien? Ich bin für jeden Tipp und Hinweis sehr dankbar. Auch weitere Informationen liefere ich sehr gerne nach, wenn sie angefordert werden.
Vielen Dank schon mal im Voraus.
Grüsse
Roland
Kommentar