При попытке запуска скриптов в cron, которые выполняют код от имени другого пользователя, может возникнуть ошибка: sudo: sorry, you must have a tty to run sudo.

Проблема вызвана директивой Defaults requiretty в файле /etc/sudoers. Её можно спокойно закомментировать. Это известный баг признанный RedHat.

visudo /etc/sudoers

# для редактирования нажать i
# для сохранения Esc, :wq

Пример скрипта с запуском кода от имени пользователя:

#!/usr/bin/env bash

USERNAME=myuser

sudo -u ${USERNAME} /bin/bash - << venvpart
id

...
действия от имени пользователя myuser
...

venvpart

exit 0
Отмечено:

Добавить комментарий