Рейтинг:1

Sudo crontab -e vs crontab -e запускает команду как sudo

флаг cn

Скажем, мне нужно запускать php-скрипт с правами root каждую ночь, лучше ли запускать его из корневого crontab или от пользователя с правами sudo crontab, «sudoing» в команде. т.е.

В судо кронтаб -е

0 0 * * * /bin/sh -c "/[мой_путь_к]/php /[мой_путь_к]/[мой_скрипт].php >> /[мой_путь_к]/cron_log.txt 2>&1"

ИЛИ ЖЕ

В кронтаб -е

 0 0 * * * sudo su -s /bin/sh -c "/[мой_путь_к]/php /[мой_путь_к]/[мой_скрипт].php >> /[мой_путь_к]/cron_log.txt 2>&1"

Или фактически нет никакой разницы?

user535733 avatar
флаг cn
«Лучше» — это способ, который вы понимаете и можете поддерживать.
sudodus avatar
флаг jp
`sudo crontab -e` - это то, как все настроено для использования (для запуска запланированных задач с повышенными разрешениями. Но если вы заставите его работать по-другому, это тоже нормально. Но не спрашивайте меня, если вы есть проблемы с вводом пароля в sudo без ущерба для безопасности.
muru avatar
флаг us
Вам действительно не нужен этот вызов `sh -c` в crontab root
Рейтинг:1
флаг cn

Конечно, лучше запустить команду, которую нужно запустить от имени пользователя root, из crontab пользователя root.

Выполнение команды с судо в пользовательском crontab технически может работать, но потребует от вас реализации способа предоставления судо пароль к этой команде: вы создадите проблемы с безопасностью.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.