Hallo zusammen
Betrifft: Ubuntu 14.04 Server, Apache 2.4, PHP 5.x
Ich möchte den Output eines Scripts per PHP ausgeben.
Der Kontext des Scripts soll aber unter dem User 'user1' laufen.
Hier das PHP-Script
Hier das aufrufende Shell-Script
/var/www/scripts/www_check_service.sh
Und hier das finale Script:
/home/user1/check_service.sh
(nehmen wir mal an, es sollte das Resultat von whoami zurückgeben, also user1)
Leider funktioniert es nicht.
Es erscheint folgende Meldung:
sudo: no tty present and no askpass program specified
Ich habe www-data zu den sudoers hinzugefügt, leider ändert sich nichts:
www-data ALL=(user1) NOPASSWD: /var/www/scripts/www_check_service.sh
P.S:
- Nein, ich möchte das nicht über Cron lösen sondern 'just-in-time'.
- Ja, ich bin mir der Risiken bewusst. Es handelt sich um einen Homeserver im geschützten Umfeld.
- Ja, ich habe gegoogelt - sitze seit fünf Stunden dran und schaffe es einfach nicht...
Danke für Eure Unterstützung
DC
Betrifft: Ubuntu 14.04 Server, Apache 2.4, PHP 5.x
Ich möchte den Output eines Scripts per PHP ausgeben.
Der Kontext des Scripts soll aber unter dem User 'user1' laufen.
Hier das PHP-Script
Code:
<?php
$output = shell_exec("../scripts/www_check_service.sh");
echo "<pre>$output</pre>";
?>
Hier das aufrufende Shell-Script
/var/www/scripts/www_check_service.sh
Code:
sudo -u user1 /home/user1/check_service.sh 2>&1
Und hier das finale Script:
/home/user1/check_service.sh
Code:
-rwxrw-r-- 1 user1 user1 23 May 1 2014 check_service.sh
Leider funktioniert es nicht.
Es erscheint folgende Meldung:
sudo: no tty present and no askpass program specified
Ich habe www-data zu den sudoers hinzugefügt, leider ändert sich nichts:
www-data ALL=(user1) NOPASSWD: /var/www/scripts/www_check_service.sh
P.S:
- Nein, ich möchte das nicht über Cron lösen sondern 'just-in-time'.
- Ja, ich bin mir der Risiken bewusst. Es handelt sich um einen Homeserver im geschützten Umfeld.
- Ja, ich habe gegoogelt - sitze seit fünf Stunden dran und schaffe es einfach nicht...
Danke für Eure Unterstützung
DC