PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sudo für Webuser ohne Passwd



Rebell
01.02.03, 09:04
Ich baue mir gerade ein kleines Online Tool mit Perl.
Dieses Perl-Skript gehört dem Benutzer "rob".
Dieser rob ist in der sudoers eingetragen und darf unter anderem NOPASSWD: halt / reboot sowie init.d/networking

Mein Problem:
Wenn ich dieses Skript übern den Browser starte bekomme ich keine Fehlermeldung sehe aber in der /var/log/apache/error.log
den Prompt für die Passworteingabe. Das will ich verhindern in dem ich dem Perl-Skript den Schalter "sudo -u rob" verwende.
Selbst das funktioniert nicht.

Also meine Frage, wie bekomme ich es hin dass das Skript für die Webuser Sudo anerkennt?
Gibt es die Möglichkeit ein Passwort zu übergeben?
Wenn ich das Sticky-Bit für das Perl-Skript setze erscheint in der error.log "cant do setuid".

dbo
01.02.03, 13:01
Hallo,

kann es sein, daß Du die Befehle nicht mit dem vollen Pfad angegeben hast?

Gruß,

Rebell
01.02.03, 13:07
Doch doch, wenn ich mich als rob anmelde gehts ja auch...

dbo
01.02.03, 13:22
Hallo,

genau das ist doch das Feature von sudo ;)

<tt>

[root@wall /etc]# ls -la /etc/sudoers
-r--r----- 1 root root 473 Apr 25 2002 /etc/sudoers

[root@wall /etc]# vi /etc/sudoers
root ALL=(ALL) ALL
apache wall = NOPASSWD: /usr/sbin/isdnctrl
apache wall = NOPASSWD: /usr/sbin/httpd
apache wall = NOPASSWD: /bin/touch
apache wall = NOPASSWD: /bin/rm

</tt>

sudo dient dazu, daß der apache zb isdnctrl benutzen kann, wenn ich per webseite zb isdnctrl hangup ippp0 machen möchte.

Heißt der User Deines Webservers Rob?

Gruß,

Rebell
01.02.03, 13:25
Ja genau das wie du will ich machen... Also muss Apache in Sudo eingetragen sein... hätt ich ja auch drauf kommen können :)

Rebell
02.02.03, 16:57
Wenn ich das Sticky-Bit eines Skriptes setze warum darf Apache kein Setuid? Wie erlaube ich das möglichst ohne Passwort?