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

Привилегированная команда как часть cronjob

У меня есть личное имя пользователя / пароль на машине unix с ограниченными правами. Когда мне нужно выполнить какие-то команды, я должен заменить пользователя, используя вс команду, то я выполняю ее как обычно.

Теперь мне нужно добавить задание cron, которое использует такие привилегированные команды, поэтому я добавил задание cron в crontab пользователя, которого я заменил, чтобы иметь доступ к этим командам.

Как ни странно, мне показалось, что эти команды по какой-то причине не запускаются как cronjob, хотя, когда я выполняю их непосредственно из оболочки (после su), они работают без проблем.

Почему это происходит? Почему эти команды не работают как часть cronjobs?

Они, вероятно, ожидают, что какая-то переменная среды будет установлена ​​каким-то образом, но это не так, когда команда запускается напрямую от имени этого пользователя. Обычно $PATH.

Я бы добавил выходной файл в вашу запись cron, чтобы вы могли понять, почему он не выполняется. то есть:

*/5 * * * *   path_to_script.sh > /tmp/myscript.out 2>&1

Через 5 минут проверьте /tmp/myscript.out и посмотрите, на что он жалуется.

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