PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mit anderem User einloggen



IndYlein
22-03-2005, 16:26
Hallo,


ich bin grad dabei mit PHP ein Serverinterface zu coden für Teamspeak, Ventrilo, CS Server etc.

Alle Befehle werden über shell_exec("linux befehl"); ausgeführt.
Allerdings können die Befehle nicht ausgeführt werden, wenn ich als wwwrun angemeldet bin, da ich dort die nötigen Rechte nicht habe.

Theoretisch könnte ich ja sudo -u root eingeben. Dann werde ich allerdings aufgefordert das Passwort einzugeben und da macht PHP dann nicht weiter.

Also: Gibt es irgendeine Möglichkeit das Passwort direkt in den sudo-Befehl zu integrieren, sodass ich das Passwort nicht mehr extra eingeben muss sondern dass direkt im Befehl drin ist?

Also so etwa: sudo -u root -passwort tollespasswort tollerbefehl
So hab ichs schon probiert (also anstatt -passwort mit -p) aber geht nicht

Geht das irgendwie oder gibt es einen anderen Befehl wo man nicht extra zu aufgefordert wird, das Passwort einzugeben, sondern wo man das direkt in den Befehl integrieren kann?


Wäre sehr nett von euch wenn ihr mir helfen könntet


Danke!!


MfG, IndY

IndYlein
22-03-2005, 16:28
Update: Mit su hab ichs auch nich geschafft

Draco
22-03-2005, 16:48
Müssen die Programme als root ausgeführt werden?

nul
23-03-2005, 11:53
evtl. sudo?

undefined
23-03-2005, 15:07
Ein Definitives NEIN
Erstens kein Normaler WWW User bekommt in der /etc/sudoers oder /etc/group su Rechte. ;)
Da mußt dich mit deinem Provider aus einander setzen. ;)
Nur root hat das recht Prozesse zu starten.
Abhilfe währe Beispielsweise ein cron Job ;)

Joghurt
23-03-2005, 17:04
Du kannst sudo so konfigurieren, dass bestimmte User bestimmte Kommandos als root ausführen können. Sowohl mit als auch ohne Passworteingabe. Ich hab die Syntax nicht im Kopf (man sudoers), auf jeden Fall kannst du es erreichen, dass www-run ein "sudo /mein/toller/server" ausführen kann, aber "sudo /bin/rm -f" nicht.

Reaper
23-03-2005, 19:13
su verlangt immer ein passwort dass kann man imho nicht ändern.
Eine möglichkeit (außer sudo) wäre noch den Teamspeak (etc.) und apache mit den selben Nutzerrechten und dem selben Benutzer laufen zu lassen.
Aber das ganze wird eh nur klappen wenn das eine eigener Server ist und du alles bestimmen kannst.

S-freak
31-03-2005, 08:47
vielleicht hilft dir das hier weiter(thread zum selben problem):

http://www.linuxforen.de/forums/showthread.php?t=177334&highlight=php+sudo