Назад | Перейти на главную страницу

Какой пользователь должен запустить мое задание PHP cron?

У меня есть несколько 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