"Scripte unter ’nem gegebenen User führt man in der Regel mit suexec aus. Das ist so gebaut, dass es nichts als Root ausführt..."
Dann muss also der Apache-User "www-data" ein "Sudoer" sein, also in deren Liste eingetragen werden? Also zum Ausführen von Systembefehlen kannte ich bisher nur "exec(...)" sowie "shell_exec(...)"... suexec(...) kannte ich bisher nicht, gemäss der Google-Suche ist das aber eher eine Apache-Erweiterung für CGI und SSI ->
https://httpd.apache.org/docs/2.4/suexec.html (?)
Insbesondere shell_exec(...) sollte doch das ausgeben in meinem Fall (
https://stackoverflow.com/questions/709 ... ec-vs-exec ), wenn doch der Befehl 'shell_exec("mkdir ./wlan_data");'
nicht erfolgreich ausgeführt werden konnte. (Das Verzeichnis existiert nicht, das Anlegen hat also nicht geklappt)
Ich denke eher, das Problem ist dass PHP in einem anderen Sicherheitskontext als "root" ausgeführt wird, wobei ich gerade nicht weiss wie PHP aktuelle läuft (Modul, FastCGI?). Na ja, ich denke eher als Modul, installiert habe ich jedenfalls ganz gewöhnlich mit "apt-get install apache2" sowie "apt-get install php".
Mit der SSH2-Komponente der Library "phpseclib" (
http://phpseclib.sourceforge.net/) hat es natürlich geklappt (ist aber eher langsam), da der SSH-Dienst läuft und "PermitRootLogin" auf "Yes" ist. (localhost:22) Damit kann ich jegliche Befehle ausführen, und erhalte sogleich wie korrekte Textausgabe (wie unter der Konsole) als String.