403 Запрещено для файлов с разными именами, но идентичным содержанием и разрешениями

Я использую CentOS 6.3 и Apache 2.2.15.

Я использую настройки по умолчанию для Apache. Файлы, которые я обслуживаю, находятся в

/var/www/html

Вот два из них

[root@gisele html]# ls -l *-production-1.0.6.pdf 
-r--r--r--. 1 root root 171769 Jan  1 21:12 copy-installation-production-1.0.6.pdf
-r--r--r--. 1 root root 171769 Jan  1 20:59 installation-production-1.0.6.pdf

Файл копии - это файл, созданный

cp installation-production-1.0.6.pdf copy-installation-production-1.0.6.pdf

Через отображение виртуального хоста я получаю доступ к этим документам.

copy-installation-production-1.0.6.pdf будет служить.installation-production-1.0.6.pdf возвращает 403 запрещено.

Единственное отличие состоит в том, что исходный файл был скопирован на сервер с другого компьютера.

Любая идея, почему этот оригинальный файл не будет служить, но копия будет?

2 ответа

Ну, отключение SELinux - это временный обходной путь, а не решение. Мы не хотим, чтобы Дэн Уолш плакал;)

Попробуйте один из следующих вариантов:

chcon --reference=/var/www/html/FileThatCanBeServed /var/www/html/FileWithError403

или же

chcon -R --reference=/var/www/html /var/www/html/

или же

chcon -R -t httpd_sys_content_t /var/www/html/

Всегда проверяйте контекст SELinux файлов, доступных с ls -lZзатем используйте chcon с --reference Возможность скопировать контекст в другие файлы.

Гах, SELinux. Тот же пробалем, что и этот вопрос: Apache обслуживает некоторые файлы, другие получают 403

Отключите SELinux как решение.

http://www.crypt.gen.nz/selinux/disable_selinux.html

В установке CentOS должна быть подсказка

Is this machine primarily a 
Server (1) / Desktop (2)
1/2...? 1

Would you like to run into bizarre errors later on?
Y/N...? y

Installing SELinux.
Другие вопросы по тегам