Forum: PC-Programmierung system() in PHP, xampp unter win7, wahrscheinlich berechtigungsproblem


von Günther G. (grundy)


Lesenswert?

hi leute!

also mal die vorgeschichte:
win xp pc mit xampp, elv homeputer studio, studioexecco.exe und wget.exe
übers web rufe ich eine .php auf die über system() die studioexecco und 
wget startet. klappte problemlos

nun bin ich aber auf einem neuen pc mit win 7 home premium
der xampp war eine portable installation den ich einfach rüberkopiert 
habe.
nun habe ich aber das problem dass system() unter win7 irgendwie 
eingeschrängt sein dürfte. dos befehle wie copy usw werden ausgeführt 
doch starte ich zb wget meldet es beim schreien der downgeloadeten 
seite: permission denied. auch die studioexecco meldet: error executing.
anscheinend sperrt win7 die exe-files die man im php über system startet 
irgendwie ein, weiß jemand wo man das ändern kann? uac ist schon 
deaktiviert. bin für jeden tipp dankbar, werk schon mehrere stunden an 
dem problem und google hilft auch nicht :-(

mfg grundy

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das dürfte damit zu tun haben, in welchem Benutzerkonto der 
Apache-Webserver läuft.

von Günther G. (grundy)


Lesenswert?

der apache läuft als service also mit dem SYSTEM user

ich bin jetzt auf eine umweg gestoßen die exe dateien mit runas zu 
starten, das ist zwar wahrscheinlich die lösung nur will runas das 
passwort des users eingegeben haben und das kann ich über den system() 
aufruf nicht. /savecred hilft auch nix, würde das pw zwar speichern aber 
ich kanns ja nicht eingeben :-(

von Peter II (Gast)


Lesenswert?

Günther Grundböck schrieb:
> der apache läuft als service also mit dem SYSTEM user

dann muss nicht sein und wenn es so ist kann man es ändern. Oder einfach 
mal FileMon (oder neuerdings ProcessMonitor) mitlaufen lassen dann 
sollte man sehe welche REchte fehlen. Dann kann man die Rechte auch von 
Hand vergeben. Man sollte aber bedenken das es nicht ganz ohne Grund von 
MS so gemacht wird.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Günther Grundböck schrieb:
> der apache läuft als service also mit dem SYSTEM user

Wieso "also"? Dienste können in beliebigen Benutzerkonten laufen.

> ich bin jetzt auf eine umweg gestoßen die exe dateien mit runas zu
> starten, das ist zwar wahrscheinlich die lösung

Nein, das ist nicht die Lösung. Lass doch einfach den Apache in einem 
(eigenen) Benutzerkonto laufen, das die erforderlichen Berechtigungen 
hat.

von Günther G. (grundy)


Lesenswert?

apache läuft mit dem system user, ich kann ihn auch mit dem 
administrator user als dienst starten jedoch nicht mit dem angemeldeten 
benutzer (=normales benutzerkonto mit admin rechten)

ich habe jetzt den administrator user freigeschaltet, habe apache 
eingestellt unter dem administrator user zu starten und habe mich auch 
mit diesem in windows angemeldet -> trotzdem kein zugriff obwohl jetzt 
wirklich alles im selben konto läuft

werde den process monitor mal testen vieleicht seh ich da noch was, 
danke

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Du solltest mal testen ob den überhaupt in das Verzeichnis "von 
jederman" geschrieben werden darf.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Günther Grundböck schrieb:
> jedoch nicht mit dem angemeldeten
> benutzer (=normales benutzerkonto mit admin rechten)

Auch das geht, Du musst nur diesem Konto das Recht "Anmelden als Dienst" 
verleihen.

von Peter II (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Auch das geht, Du musst nur diesem Konto das Recht "Anmelden als Dienst"
> verleihen.
das macht windows von selber wenn man den Dienst konfiguriert. (ausser 
wenn man es von hand in der Registry macht)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.