Millerish
@Millerish

Как дать права cron на запись и на чтение?

Добрый день!

Подскажите, как на Debian дать права cron для записи/чтения файла?

Часть скрипта где возникает проблема:

if (is_writable($dir_url)) {
mail('XXX@gmail.com', 'OK', " mogy zapisat!");
} else {
mail('XXX@gmail.com', 'Err', "ne mogy zapisat!");
}
if (is_readable($dir_url)) {
mail('XXX@gmail.com', 'OK', " mogy prochitat'!");
} else {
mail('XXX@gmail.com', 'Err', "ne mogy prochitat'!");
}


Если запускаю через браузер (http) - все ок. Если запускаю через крон - ne mogy zapisat! и ne mogy prochitat'!.

Крон пробовал так:

/usr/bin/wget -O - -q -t 1 XXX/xibo-alarm/index.php?name=27&url=../../../xibo... >/dev/null 2>&1


и так

curl -s XXX/xibo-alarm/index.php?name=27&url=../../../xibo... >/dev/null 2>&1


и так

wget XXX.XXX.XXX/vi-test/date-inspection/index.php >/dev/null 2>&1


Как исправить?
  • Вопрос задан
  • 2591 просмотр
Решения вопроса 2
banderos120
@banderos120
Играю на балалайке
crontab выполняет задачи от имени пользователя, под которым эти задачи были заданы. А у веб-сервера, например apache - уже свой пользователь (например www-data) , и у этого пользователя уже свои права и группа. Так что вам нужно смотреть в сторону группы и прав пользователя, под которыми вы запускаете крон-задачи.
Ответ написан
Комментировать
@krypt3r
Непонятно, зачем wget и curl. PHP-скрипты спокойно можно стартовать из консоли.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@azazelpw
Linux SA
Добавьте пользователя cron в группу которая имеет доступ на запись и чтение в данной папке.
Это можно сделать командой usermod -G
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы