# System Befehl "Zugriff verweigert"



## speedyggg (31. Januar 2006)

Hallo Phpler,

folgendes Problem versuche ich vergebens zu bekämpfen.

ich habe eine kleines Script in dem ich einen System - Befehlabsetze.


```
system ('shutdown -r -f -m \\hostname');
```

Wenn ich diesen Befehl absetze kommt die Fehlermeldung "Zugriff verweigert".
Wenn ich den selben Befehl in meiner DOS - Box absetze funktionert das ganze wunderbar.

System Windows XP
Firewall ist aus.

Ich habe das ganze (XAMPP) auf einen neuen PC geschoben die alte . conf  Datei  genommen und seit dem funktioniert es nicht mehr.

Muss bei dem System - Befehl etwas besonders beachtet werden?

Das ganz soll einen PC im Netzwerk neu starten.


----------



## speedyggg (1. Februar 2006)

Hat den keiner eine Idee

Kann es an den Apache Einstellungen liegen ?

Thx im voraus

Speedyggg


----------



## Magus23 (12. Mai 2006)

Hallo zusammen.

Ich habe das gleiche Problem das speedyggg beschreibt. Hat da evtl. schon jemand Erfahrung?
Wenn ich z.B. den Befehl "dir" über system ausführe, bekomme ich als Ausgabe den Inhalt von meinem Rootverzeichnis angezeigt.
Jedoch kommt bei den von mir benötigten Befehlen (netsh  und sc) Zugriff verweigert. Ich habe dann probiert auf dem Server die Rechte für diese beiden Befehle so zu setzten dass ich als Besucher der PHP-Seite die Befehle ausführen kann, jedoch bleibt dann immer mein Browser hängen. Der Dienst (netsh oder sc) wird auf dem Server zwar gestartet, jedoch krieg ich einfach keine Ausgabe.

Wenn ich die Befehle in der cmd eingebe, funktionieren sie ohne Probleme...

Danke schon mal!


----------



## Magus23 (12. Mai 2006)

bin jetzt ein stück weiter.
Ich rufe jetzt meine Befehle über "call" auf.

call [Laufwerk:][Pfad] Dateiname [Parameter]​
Parameter bezeichnet hierbei bleibige Angaben in der Befehlszeile, die von dem aufgerufenen Batchprogramm benoetigt werden.

Einfach mal "call /?" in der cmd eingeben umd die Hilfe zu erhalten.
Jedenfalls werden meine Befehle (netsh und sc) jetzt richtig ausgeführt.


----------



## speedyggg (13. Mai 2006)

hi magnus 23


wie lautet deine Codezeile bespiel so etwa: system ('call shutdown -r -f -m \\hostname');

oder wie hast du das im PHP Script gelöst.

Wenn das funktioniert kann man dir nur gratulieren.

Thx
Speedyggg


----------



## birnkammer (13. Mai 2006)

Ich denke mal das sieht nach SAFE_MODE aus, dann kanst du nur noch Befehlszeilenprogramme, die sich in einem bestimmten Ordner (kann mit der php.ini-Konfigurationseinstellung safe-mode-exec-dir geändert werden) befinden, ausführen:
http://de.php.net/manual/de/features.safe-mode.php


----------



## Magus23 (13. Mai 2006)

Hi.

Bei mir kam die Meldung "Zugriff verweigert" auch, weil der User, auf den man auf den dem Webserver connected hat, keine Rechte hatte z.B. den "netsh.exe-Befehl" auszuführen. Also alle Befehle die in der command.com waren, haben funktioniert. Ich habe dann eben dem "Internet-User" das Recht gegeben die netsh.exe auszuführen. Und dann hats funktioniert. Als ich allerdings den "call-Befehl" weggelassen hab, hatte ich immer das Problem, dass zwar der Dienst auf dem Server gestartet wurde, aber einfach stehen blieb und somit mein Browser auch.

Hier mal der Code soweit ich den jetzt grad auswendig weiß. Komm leider erst am Mittwoch wieder zum Arbeiten. Poste das dann da nochmal.

$dhcp = system('call c:\windows\system32\netsh.exe dhcp show server')

Sorry mehr weiß ich grad nicht mehr.
Hoff das hilft weiter...


----------



## Dimenson (13. Mai 2006)

Ich selber benutze auch xampp und habe folgendes probiert :

system ('shutdown -r -f -m 192.168.11.100');

und es hat funktioniert.


----------



## speedyggg (17. Mai 2006)

@dimension

Welche Version von Xampp nutzt du den ?

Wie ich weiter oben schon geschrieben habe hatte das bei mir auch mal funktioniert.

Wenn du die neuste nutzt würde mich mal der Teil mit Safe_Mode in der php.ini interessieren.

Speedyggg


----------

