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

Не удается получить задание cron для запуска сценария, устанавливающего службу, требующую root

Мне нужно запустить на Ubuntu 18.04 через cron скрипт, myscript.sh который содержит, среди прочего, инструкцию по установке другого скрипта, pluckeye-linux-0.99.40.installer и я столкнулся с утомительной ошибкой:

Рассматриваемый скрипт является установщиком для Pluckeye своего рода приложение для родительского контроля. Это нужно запускать как root. Внутри myscript.sh Я разместил

cd "/path/to/pluckeye/"
./pluckeye-linux-0.99.40.installer

Я предполагаю, что это происходит из-за того, что cron использует свою собственную минимальную среду. Я пробовал разные вещи, которые нашел в Интернете, например, использовал вместо вышеуказанного

* 20 * * * . $HOME/.profile; "/path/to/myscript.sh"

надеюсь, что установщик заработает сейчас, но это ничего не меняет. Я не хотел бы размещать sudo внутри сценария, что означает

cd "/path/to/pluckeye/"
sudo ./pluckeye-linux-0.99.40.installer

поскольку я прочитал это, это представляет угрозу безопасности.

Что мне нужно сделать, чтобы Pluckeye установил себя через cron?

возможно, вы бы сделали это:

  1. используя crontab -e
* 20 * * * sh /path/to/myscript.sh
  1. используя / etc / crontab
* 20 * * * root cd /path/to/pluckeye/ && sh ./pluckeye-linux-0.99.40.installer