Права пользователя Apache в Centos - PullRequest
3 голосов
/ 20 октября 2010

Привет! Я использую команду shell_exec из сценария PHP:

$output = shell_exec('ls -l');
print_r($output);

Терминал: php test.php

Что приводит к выводу каталога в соответствии с ожиданиями.1007 * Переключиться на мой браузер. Я не получаю вывод.

Мне нужно предоставить привилегии пользователю 'apache', чтобы он мог выполнять определенные команды, или добавить пользователя в группу с такими привилегиями.Я знаю, как добавлять пользователей в группы и т. Д. Мне просто было интересно, как лучше всего предоставлять такие права пользователю apache.

Ответы [ 2 ]

0 голосов
/ 24 января 2013

Если вы выполните ls -Z в нужном каталоге, вы увидите, какие разрешения SELinux для этого каталога.

Чтобы разрешить демону httpd / apache доступ к этому каталогу, который вы можете запустить (опция -Rдля рекурсии):

chcon -Rv --type=httpd_sys_content_t /desired/path

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

0 голосов
/ 22 октября 2010

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

Проблема заключалась в том, что я пытался дать пользователю apache привилегии в / etc / sudoers, а SELinux был (вполне справедливо)) отрицая их.

Поэтому я быстро отключил SELinux для httpd, и все заработало.

Это далеко не идеальная ситуация, хотя для общедоступного веб-сервера.

Что касаетсяДля установки разрешительных операций следует использовать лучшие практики audit2allow.

...