2012-03-22 19 views
8

Dzieje się coś naprawdę dziwnego.Nie można zapisać pliku, mimo że uprawnienia są 777

httpd.conf mówi, że apache działa jako użytkownik apache.

Podpisałem pliki jako apache:apache.

Plik nadal nie można zapisać.

mam ustawić uprawnienia (całego Webroot jako ostateczność) być 777 a plik nie jest jeszcze do zapisu ...

ścieżka jest prawidłowa, ponieważ file_exists() jest true ale is_writeable jest false.

Wszelkie pomysły?

+1

Czy to na Linuksie? Czy masz włączoną funkcję SELinux? –

+0

Czy to na Linuksie? Czy Twój webroot jest inny niż ext2/3/4? – devsnd

Odpowiedz

13

To więcej niż możliwe, że na komputerze działa SELinux. Aby sprawdzić, czy działa, czy nie, powinieneś być w stanie uruchomić polecenie getenforce w linii poleceń. Jeśli zwróci "Wymuszenie", to SELinux jest włączony i działa w trybie egzekwowania.

sugeruję, że w większości przypadków (chyba, że ​​chcesz spędzić dzień nauki o SELinux), który ją wyłączyć uruchamiając setenforce Permissive i edycję /etc/sysconfig/selinux tak, że następnym razem serwer restartuje nie będzie go reaktywować.

Jeśli masz pewność, że nie trzeba SELinux może po prostu usunąć pakiety z serwera

+0

Dzięki. Chciałbym wyssać z siebie moją dumę i zapytać tę ostatnią noc:/ – guided1

+0

zapisany dzień, dzięki – jaaw

+0

Vamooooooo, te quiero –

0

Może jesteś korzeń tylko na vserver? Czy masz własny serwer lub masz tylko host> Jeśli masz tylko host (nie całą maszynę), to często nie możesz uruchomić vmstat lub edytować pliku sysctl.

Druga opcja to SELinux. Uruchom getenforce. Jeśli zwróci ona wymuszając niż należy uruchomić setneforce Permissive. To dyskowalne SELinux

Powiązane problemy