Python - не выводится при запуске как Apache, нет ошибок - PullRequest
0 голосов
/ 27 октября 2018

Сценарий Python запускается командой shell_exec, но не выводит.

Под выводом я не имею в виду никаких ошибок, и при направлении на вывод в файл файл создается, но остается пустым.

Что работает:

  • Запуск этого скрипта от имени любого другого пользователя
  • Запуск этого скрипта как Apache с использованием sudo -u apache ...
  • Другие shell_exec команды запускаются как Apache
  • Другой Pythonскрипты запускаются как apache в том же исходном каталоге
  • Другие скрипты Python запускаются с использованием shell_exec в том же PHP-скрипте, которые выводятся в ту же папку

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

ОБНОВЛЕНИЕ: похоже, это проблема с разрешениями, но я не могу понять, почему

/usr/local/bin/python2.7: can't open file '/var/www/scripts/script.py': [Errno 13] Permission denied

Расположение скрипта: /var/www/scripts

/var
drwxrwxr-x.  20 root apache  4096 Oct 26 00:04 var

/var/www
drwxrwxr-x.  8 root apache 4096 Oct 13 13:55 www

/var/www/scripts
drwxrwxrwx. 2 apache apache 4096 Oct 27 01:26 scripts

/var/www/scripts/script.py
-rwxrwxrwx. 1 apache apache 1315 Oct 27 09:25 script.py

ОБНОВЛЕНИЕ: F ***** g SELinux.

Временное отключение SELinux с помощью setenforce Permissive решает проблему.Как лучше всего сделать так, чтобы SELinux позволил Apache постоянно запускать этот скрипт из этого каталога?

...