PHP chmod (): Operation nicht erlaubt, safe_mode deprecation beteiligt?

10

Ich habe ein wenig Mühe, das Konzept von chmod() von PHP zu verstehen, da der Kurs, den ich gerade mache, etwas veraltet ist und safe_mode beinhaltet. Es besagt, dass Safe_mode deaktiviert ist, werden die Einschränkungen zum Ändern von Berechtigungen mit chmod() in eine Datei entfernt, wenn der Eigentümer nicht derselbe ist wie derjenige, der den Befehl ausführt. Ich arbeite mit PHP 5.5.9 in Verbindung mit XAMPP, ich habe überprüft, dass die Flags ausgeschaltet sind (nur für den Fall), aber es scheint nicht zu funktionieren. Als ich das folgende PHP-Skript ausführe:

%Vor%

Ich erhalte folgende Ausgabe:

%Vor%

Meine Berechtigungen für die Datei sind die folgenden

%Vor%

Und ich habe ps aux | grep httpd ausgeführt, um zu bestätigen, dass mein Webserver unter dem Benutzer "daemon" läuft.

Wenn ich den Dateibesitz auf Dämon ändere:

%Vor%

Alles funktioniert, ich verstehe nicht, wieso ich verstanden habe, dass mit safe_mode die Dateieigentümerschaft nichts bedeuten würde, stattdessen waren Dateiberechtigungen der Weg, den Zugriff zu handhaben.

    
Joel Hernandez 14.04.2014, 20:57
quelle

1 Antwort

14

Der daemon -Benutzer ist nicht root , daher ist es nicht erlaubt, den Modus einer Datei zu ändern, die einem anderen Benutzer gehört. PHP safe_mode ist hier nicht die Ursache. Die Warnung informiert Sie darüber, dass der versuchte Vorgang fehlgeschlagen ist, da der Webserverbenutzer keine Berechtigung zum Ändern des Modus hatte.

Der Vorgang ist erfolgreich abgeschlossen, nachdem Sie die Besitzrechte der Datei manuell in daemon geändert haben, da Benutzer den Modus ihrer eigenen Dateien ändern dürfen.

    
Andrew Medico 14.04.2014, 21:13
quelle

Tags und Links