hallo leute erstma,
ich habe folgendes Problem,
ich soll via PHP, Shell scripte ausführen auf die nur bestimmte, auf den Webserver registrierte benutzer ausführrechte haben.
Das hauptproblem besteht nun darin das die PHP-Scripte vom benutzer www-data
ausgeführt werden, aber nur $USER hat zugriff auf das Script.
Ich habe es mir so gedacht das ich mit proc_open eine ssh verbindung aufbaue
in die stdin pipe den befehl zum ausführen des shell-scriptes reinjage und den process wieder schliesse.
leichter gedacht als getan.
ich habe es bisjetzt so versucht
in diesen fall bekommt man immer die meldungen
wenn ich aber den proc_open aufruf wie folgt änder
wird folgende fehlermeldung ausgegeben
naja ich hoffe ich habe mich verständlich genug ausgedrückt.
danke im vorraus
ich habe folgendes Problem,
ich soll via PHP, Shell scripte ausführen auf die nur bestimmte, auf den Webserver registrierte benutzer ausführrechte haben.
Das hauptproblem besteht nun darin das die PHP-Scripte vom benutzer www-data
ausgeführt werden, aber nur $USER hat zugriff auf das Script.
Ich habe es mir so gedacht das ich mit proc_open eine ssh verbindung aufbaue
in die stdin pipe den befehl zum ausführen des shell-scriptes reinjage und den process wieder schliesse.
leichter gedacht als getan.
ich habe es bisjetzt so versucht
PHP:
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
);
$process = proc_open("ssh -l %USER% %WEBSERVERIP%", $descriptorspec, $pipes);
if (is_resource($process)) {
//da die key´s bekannt sind werden sie in MEINEN falle
//nicht mehr mit 'yes' bestätigt werden müssen
fwrite($pipes[0], "%PASSWORD%");
fclose($pipes[0]);
while (!feof($pipes[1])) {
echo fgets($pipes[1], 1024);
}
fclose($pipes[1]);
$return_value = proc_close($process);
echo "command returned $return_value\n";
}//dieser php-code ist ziemlich angelehnt an das bsp. aus php.net
?>
Code:
Pseudo-terminal will not be allocated because stdin is not a terminal.
Permission denied, please try again.
Permission denied, please try again.
PHP:
$process = proc_open("ssh -l %USER% %WEBSERVERIP% -n /dev/null", $descriptorspec, $pipes);
Code:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password,keyboard-interactive).
danke im vorraus