Я создал каталог
/xyz/www
Со следующими разрешениями:
-rw-r--r--. 1 myuser developers
Я отредактировал свой http.conf:
DocumentRoot "/xyz/www/"
<Directory "/xyz/www/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Я получаю ошибку 403: You don't have permission to access / on this server.
Смотрим в журналах:
(13)Permission denied: Can't open directory for index: /xyz/www/
Я попытался рекурсивно добавить 777 разрешений, но проблема все равно осталась.
Что вам нужно сделать, это скопировать то же самое контекст безопасности / var / www / html имеет. Сделать это:
# ls -la --context /var/www/html
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t .
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t ..
-rw-r--r-- root root user_u:object_r:httpd_sys_content_t index.html
Затем вы должны установить его по своему желанию DocumentRoot следующим образом:
# chcon -R system_u:object_r:httpd_sys_content_t /xyz/www
Ваш целевой каталог NTFS или ext3? Пожалуйста, проверьте контекст SELinux целевого каталога, используя
ls -a --context /target/directory
Если контекст целевого каталога похож
system_u:object_r:fusefs_t:s0
с помощью
setsebool -P httpd_use_fusefs on
может сработать для вас, поскольку это может быть просто логическая проблема для файловой системы. Пожалуйста, подтвердите аспекты безопасности логических значений, поскольку я о них не знаю.
Каталоги обычно требуют x
разрешение процессам на доступ к файлам в них. С разрешениями, которые у вас есть в настоящее время, вы сможете ls
каталог, но не cd
внутрь. Поскольку каталог принадлежит вам, Apache будет работать с разрешениями третьего столбца.
Пытаться chmod +x /xyz/www
.
Если у вас все еще есть проблемы, проверьте разрешения на /xyz/
также.
Вам также следует добавить <Directory /xyz/www>
раздел в конфигурацию apache с чем-то вроде
Order allow,deny
Allow from all
http://wiki.centos.org/HowTos/SELinux
Команду 'chcon' можно использовать для изменения контекста безопасности SELinux файла или файлов / каталогов аналогично тому, как 'chown' или 'chmod' могут использоваться для изменения владельца или стандартных прав доступа к файлу.
chcon -Rv --type = httpd_sys_content_t / xyz / www
У меня была такая же проблема - chcon
команда исправила это.
Я создавал установочный сервер и хотел, чтобы мои изображения находились под /export/install/<image>
с символической ссылкой в корне документа. Я был уверен в своем httpd.conf
настройки были правильными.
Каталоги и файлы были 755 & 644 соответственно, а Apache пользователь мог перемещаться по дереву, так что это было?
Я использовал команду, аналогичную приведенной выше, но использовал ссылка вариант:
% chcon -R --reference=/var/www/html /export
Мог бы просто выключиться selinux
но я хочу научиться жить с этим.