PHP hat Zugriff auf das Dateisystem - Berechtigung verweigert

PHP hat Zugriff auf das Dateisystem - Berechtigung verweigert

Ich versuche, ein PHP-Problem mit einem Tool aufzuspüren, das ich zu installieren versuche, und bin, glaube ich, auf ein Berechtigungsproblem mit dem Dateisystem zurückgegangen ...

Ich habe jetzt die folgende einfache .php-Datei:

<?php
system("/bin/ls");
?>

Wenn ich dies ausführe, wird mir der folgende Fehler in /var/log/httpd/error_log angezeigt:

sh: /bin/ls: Permission denied

Wenn ich das auszuführende PHP ändere:

<?php
system("/bin/env");
?>

Dann sehe ich die Ausgabe, die ich erwartet habe.

Es liegt also nicht an der Ausführung, dass die Berechtigungen fehlen, sondern an dem, was die ausführbare Datei zu lesen versucht, das Problem.

(Das Tool, das ich hier zum Laufen zu bringen versuche, ist phplicensewatcher – ein Tool, mit dem man im Auge behalten kann, was mit verschiedenen Lizenzverwaltungs-Daemons passiert.)

Danke

Antwort1

Die ersten beiden Dinge, die ich überprüfen würde:

  • Unter welchem ​​Benutzer läuft PHP? Wenn es von Apache gestartet wird, läuft es wahrscheinlich als „nobody“, „www“ oder „apache“, je nach Version und Konfiguration.

  • Welches Verzeichnis möchten Sie auflisten? Überprüfen Sie die Berechtigungen für dieses Verzeichnis. Hat der Benutzer, unter dem PHP ausgeführt wird, die Berechtigung, auf dieses Verzeichnis zuzugreifen?

verwandte Informationen