У меня есть несколько PHP-скриптов, которые запускает cron (/etc/crontab
) в определенное время. Скрипты принадлежат www-data. Однако www-data не имеет доступа к оболочке. Фактически, его оболочкой является «nologin».
Я не уверен, от имени какого пользователя запускать сценарий. Я не думаю, что запускать скрипт от имени пользователя root безопасно - это дало бы ему слишком большой доступ к вещам на случай, если внутри этих скриптов может произойти что-то опасное. Но я также не уверен, безопасно ли предоставлять доступ к оболочке пользователя www-data.
Кто-нибудь, кто лучше осведомлен по этому поводу, может мне помочь?
Безопаснее запускать задание cron с пользователем, которому принадлежат файлы в веб-пути.
Для запуска задания cron доступ к оболочке не требуется. Однако, если он вам по какой-то причине нужен, вы можете осквернить его в переменной окружения SHELL=/bin/bash
в crontab.
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
0 * * * * php test.php