exec, aufruf unter bestimmtem user?

breytex

Mitglied
Hallo!

Ich arbeite gerade an einem kleinen script was dem einfachen Steuern meines PCs über eine icq jabba kombination dient.

Die datei ist local, d.h. der exec befehl funktioniert grundsätzlich schonmal...
Das problem ist nur, wenn ich über exec z.b. ne textdatei aufrufe, dann öffnet sich diese unter "system" und nicht unter meinem username...

d.h. die datei wird zwar geöffnet, aber nicht angezeigt, da sie nicht dem user "gehört"

Wie kann ichs ändern, das der exec befehl auf einen bestimmten User ausgeführt wird?

mfG
 
Wenn Du mit einem Unix-artigen System wie z.B. Linux arbeitest koennte Dir sudo dabei behilflich sein. Mit PHP-eigenen Mitteln duerfte das nicht machbar sein da dies ja durchaus weitreichende Auswirkungen (System-Zugriff als root) haben koennte).
Ob es fuer Windows sowas wie sudo gibt weiss ich nicht, ich koennte es mir aber durchaus vorstellen.
 
Hm, die Frage ist ja nicht, ob das user oder adminübergreifend egschehen kann, sondern ob ich den prozess ÜBERHAUPT unter einem user starten kann...
Denn so sind alle Programme die ich über exec starte ja mehr oder weniger "System eigen", d.h. sie laufen zwar, haben aber keine Ausgabe.
 
Die PHP-Scripts werden in der Regel mit dem User des Webservers ausgefuehrt. Unter Linux ist dies in der Regel nobody oder wwwrun. Dieser User hat im Grunde so gut wie keine Rechte, aus wohl offensichtlichen Gruenden.

PHP bietet ja, mittels der Posix-Extension, die Funktionen posix_setuid() und posix_seteuid(). Nur wird es die wohl nicht fuer Windows geben denk ich. Weiterhin werden dafuer auch unter Linux bereits entsprechende Rechte (also root-Rechte) benoetigt, und dementsprechend sind diese Funktionen fuer einen Einsatz in Webscripts ziemlich uninteressant.

Und Ausgaben von per exec() ausgefuehrten Programmen bekommt man eigentlich ueber das Array welches als 2. Parameter angegeben wird.
 
So, ich krame das Thema noch mal hervor.
Ich habe immernoch das selbe "Problem"...
mitlerweile arbeite ich an einem script, welches den PC für mich per icq steuerbar machen soll...
Und ja, es läuft auf PHP-Basis :D


Das script soll ein Macroscript ausführen, welches dann die Mausbewegungen steuert.
Eine verknüpfung zu dieser datei liegt im Windowsordner, das Aufrufen per PHP funktioniert auch, der Prozess erscheint auch im Taskmanager.
Die Maus wird nur von dem Prozess nicht bewegt, weil der Prozess wieder unter "system" ausgeführt wird.

Gibt es da wirklich KEINE Möglichkeit, dass das aufgerufene Programm unter dem momentan aktiven User ausgeführt wird? (von mir aus auch vom definierten user ausgeführt wird...)
 
Zurück