K
knumskull
Foren As
Hallo,
ich möchte ein Shellscript, welches über PHP aufgerufen wird, ausführen. Mein erster Ansatz war
Das script selber
Die führt aber nur dazu, das ich eine Meldung bekomme, das ich keinen Zugriff habe, diese Funktion auszuführen.
Ergibt ja auch sinn, da ich als Benutzer apache in einem Verzeichnis eines anderen Benutzers ein Verzeichnis anlegen möchte.
Ich habe ebenso versucht das ganze mit SUDO zu lösen, allerdings ohne Erfolg. Bei Sudo bekomme ich folgende Ausgabe:
output: sudo: sorry, you must have a tty to run sudo
Die Befehlszeile sieht folgendermaßen aus.
ich bin für jeden Tipp dankbar.
*EDIT*
anstelle von exec() habe ich auch schon shell_exec() probiert.Klappt ebenso wenig.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Einen Ansatz habe ich gefunden.
ich habe die Zeile Default requiretty
in der Datei sudoers auskommentiert. Dadurch kommt die Fehlermeldung nicht mehr.
Allerdings kommt jetzt eine Passwortabfrage, obwohl ich in der sudoers folgenden Eintrag stehen habe
ich möchte ein Shellscript, welches über PHP aufgerufen wird, ausführen. Mein erster Ansatz war
PHP:
$cmd_output = exec('/bin/bash shellscript.sh ' . $params . ' 2>&1');
Das script selber
Code:
#!/bin/bash
# echo "Welcome to the create-user-script"
GROUP=$1
GID=$2
GROUP_ROOT=$3
mkdir -p ${GROUP_ROOT}
echo "`date` Group: ${GROUP}, GID: ${GID}, pwd: ${GROUP_ROOT}, user: ${USER}, pwd: $PWD" >> /tmp/example.txt
exit 0
Die führt aber nur dazu, das ich eine Meldung bekomme, das ich keinen Zugriff habe, diese Funktion auszuführen.
Ergibt ja auch sinn, da ich als Benutzer apache in einem Verzeichnis eines anderen Benutzers ein Verzeichnis anlegen möchte.
Ich habe ebenso versucht das ganze mit SUDO zu lösen, allerdings ohne Erfolg. Bei Sudo bekomme ich folgende Ausgabe:
output: sudo: sorry, you must have a tty to run sudo
Die Befehlszeile sieht folgendermaßen aus.
PHP:
$cmd_output = exec('sudo /bin/bash shellscript.sh ' . $params . ' 2>&1');
ich bin für jeden Tipp dankbar.
*EDIT*
anstelle von exec() habe ich auch schon shell_exec() probiert.Klappt ebenso wenig.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
Einen Ansatz habe ich gefunden.
ich habe die Zeile Default requiretty
in der Datei sudoers auskommentiert. Dadurch kommt die Fehlermeldung nicht mehr.
Allerdings kommt jetzt eine Passwortabfrage, obwohl ich in der sudoers folgenden Eintrag stehen habe
Code:
apache ALL= NOPASSWD: /bin/mkdir
Zuletzt bearbeitet: