Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache - sudo als nobody ausführen
Hallo,
kann man in einem Shellscript mit cgi auch sudo-Befehle ausführen? Wollte so den Status meiner ISDN-Karte überprüfen, klappt aber nicht so wie gedacht.
nobody ALL=NOPASSWD: /usr/bin/isdnstatus
Achso, isdnstatus gibt nur "isdnctrl status ippp0" wieder. Wenn ich jetzt im script
echo `sudo isdnstatus`
eingebe sagt er, dass der Server fehlkonfiguriert ist
der gleiche Eintrag mit meinen normalen Account funktioniert aber.
Danke schonmal
lg
Phate
Sieht mir nach einem Syntaxfehler in der /etc/sudoers aus.
Versuche es doch mal so:
www-data ALL=(nobody)NOPASSWD: /usr/bin/isdnstatus
www-data ist der Benutzer unter dem der Webserver läuft.
Quasi erlaube user www-data den Befehl /usr/bin/isdnstatus als user nobody ohne Passwort auszuführen.
PS: /etc/sudoers ausschliesslich mit visudo bearbeiten!
Greeez Oli
Danke erstmal :)
So, hab die obere Zeile auskommentiert und deine benutzt. Kann das Script immer noch nicht ausführen.
Und ich dachte die Scripte werden als nobody ausgeführt, wenn man im Script whoami schreibt gibt er nobody zurück, oder irr ich mich da?
lg
Phate
/edit: Falls es falsch rüber gekommen ist, ich möchte nur, dass das Script die Datei ausführen kann, mir ist egal als welcher Benutzer (vielleicht etwas unclever der Titel ;) )
Und noch ne Erweiterung die ich gerad herausgefunden habe. In den Apache-Logs:
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147] We trust you have received the usual lecture from the local System
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147] Administrator. It usually boils down to these three things:
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147]
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147] #1) Respect the privacy of others.
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147] #2) Think before you type.
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147] #3) With great power comes great responsibility.
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147]
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147] Password:
[Tue Feb 20 17:24:55 2007] [error] [client 192.168.0.147]
also möchte er doch dass Passwort haben, obwohl NOPASSWD in der sudoers-Datei steht.
Muss es den unbedingt über cgi sein ?
Mache es doch einfach über php!
$output = shell_exec("sudo -u nobody /usr/bin/isdnstatus");
echo $output;
Ok, hat jetzt geklappt. Das Problem war nicht die sudo-Recht (naja eigentlich schon).
Hab einfach kurz nobody volle rechte gegeben und sudo isdnstatus ausgeführt, danach die Rechte wieder so gesetzt wie ich sieh möchte. Jetzt klappts (sudo möchte beim ersten ausführen des Befehls das Passwort, danach nicht mehr)
Ok, trotzdem Danke :)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.