Datei nicht schreibbar, obwohl Berechtigungen 777 sind

8

Etwas wirklich Seltsames passiert.

httpd.conf sagt, dass Apache als Apache-Benutzer ausgeführt wird.

Ich habe die Dateien als apache:apache deklariert.

Die Datei ist immer noch nicht beschreibbar.

Ich habe die Berechtigungen (der gesamten Webroot als letztes Mittel) auf 777 gesetzt und die Datei ist immer noch nicht beschreibbar ...

Der Pfad ist korrekt, weil file_exists() ist true , aber is_writeable ist false .

Irgendwelche Ideen?

    
guided1 22.03.2012, 08:59
quelle

2 Antworten

13

Es ist mehr als möglich, dass SELinux auf dem Computer läuft. Um zu überprüfen, ob es läuft oder nicht, sollten Sie den Befehl getenforce in der Befehlszeile ausführen können. Wenn "Enforcing" zurückgegeben wird, ist SELinux aktiviert und wird im Erzwingungsmodus ausgeführt.

Ich schlage vor, dass Sie in den meisten Fällen (außer Sie wollen Tage damit verbringen, etwas über SElinux zu lernen) ihn deaktivieren, indem Sie setenforce Permissive ausführen und /etc/sysconfig/selinux bearbeiten, damit das nächste Mal der Server neu gestartet wird.

Wenn Sie sicher sind, dass Sie SELinux nicht benötigen, können Sie die Pakete einfach vom Server entfernen

    
James C 22.03.2012, 09:05
quelle
0

Vielleicht sind Sie nur auf vserver root? Haben Sie einen eigenen Server oder haben Sie nur Host & gt; Wenn Sie nur Host (nicht ganze Maschine) als oft haben, können Sie nicht vmstat ausführen oder Datei von sysctl bearbeiten.

Zweite Option ist SELinux. Führen Sie getenforce aus. Wenn erzwingen zurückgegeben wird, sollten Sie setneforce Permissive ausführen. Dieser unbrauchbare SELinux

    
Bartosz Kowalczyk 22.03.2012 09:19
quelle

Tags und Links