Разрешение на запись PHP - FC13 - PullRequest
0 голосов
/ 24 сентября 2010

Я недавно установил FC13 и пытаюсь написать механизм в своем коде PHP, который кэширует собранные данные в определенный каталог (для наших целей здесь мы назовем его /var/www/html/_php_resources/cache).

Я копирую свои файлы в каталог / var / www / html и затем запускаю chown -R apache:apache /var/www/html/* и chmod a+w /var/www/html/_php_resources/cache для новых данных.Сейчас я просто использую глобальное разрешение на запись для удобства.Я настрою разрешения позже.

Когда я пытаюсь использовать PHP-функции chmod или mkdir, я получаю:

Предупреждение: chmod (): В доступе отказанов /var/www/html/_include/php/CacheInit.php

или

Предупреждение: mkdir (): доступ запрещен в / var / www / html /_include / php / CacheInit.php

Теперь, когда я отключаю SELinux, все работает просто отлично.Проблема в том, что я предпочел бы , а не , чтобы отключить SELinux и фактически настроить права доступа правильно, чтобы я мог перенести его на серверы, где кто-то не имеет такого явного контроля.

Какпример: мой личный хост сайта позволяет мне устанавливать разрешения на чтение / запись для каталогов, но не допускает изменения политики SELinux.


К вашему сведению:

  • uname-r = 2.6.34.7-56.fc13
  • * php-версия * = PHP 5.3.3
  • об / мин -qa |grep httpd = httpd-2.2.16-1.fc13

У кого-нибудь есть предложения?

1 Ответ

1 голос
/ 12 мая 2012

У меня была такая же проблема, при попытке mkdir из php.Не так много информации на Google, но это то, что я нашел, и я думаю, что это правильное решение.Нужно обозначить каталог, в котором apache должен создавать каталоги.

Метка должна быть "httpd_sys_script_rw_t", и я нашел эту информацию здесь: http://docs.fedoraproject.org/en-US/Fedora_Core/5/html/SELinux_FAQ/index.html#id672528

Вот как обозначить каталог: chcon -R -t httpd_sys_script_rw_t <dir> Ссылка где-то здесь: http://www.centos.org/docs/5/html/Deployment_Guide-en-US/rhlcommon-chapter-0017.html

Надеюсь, это поможет кому-то там.

...