Cron задание от имени root необходимо для sudo другому пользователю

RHEL6 В crontab root'а есть:* 21 * * * /root/script.sh

В script.sh есть строка:/usr/bin/sudo -u jira bash -c 'cd /opt/jira/bin; ./stop-jira.sh' && echo "Jira Shut Down" >> /root/debuglog

Команда выполняется в обычной оболочке, но не при запуске из cron.

Процесс cron работает нормально, а остальная часть скрипта выполняется корректно, просто не работает часть sudo.

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

sudo в su изменение исправило проблему.

Спасибо

1 ответ

Решение

Если скрипт выполняется в crontab root, вы должны удалить sudo из команды. Я видел это раньше, когда попытка sudo, когда вы уже являетесь пользователем root, приводит к сбою команды.

Если вы хотите сменить пользователя, то команда при запуске от имени root называется 'su -l jira', а не sudo -u jira.

Другие вопросы по тегам