Стикнувся з проблемою виконання команд через sudo з під Дженкінса (чи Хадсона, чи з під крону).
Мені потрібно було виконувати скрипт для підняття VPN-у. Моє рішення для Дженкінса:
/etc/sudoers.d/jenkins-vpn-script :
# Keep additional environment variables for VPN script
Defaults:jenkins env_keep += VPN_USER_NAME VPN_USER_PIN"
# Don't require tty for all users (cannot disable it for jenkins only)
Defaults !requiretty
# Don't require password for jenkins
Defaults:jenkins !authenticate
# Don't count number of wrong login attempts
Defaults:jenkins !tty_tickets
# Allow to run VPN script with single numeric parameter and without password
jenkins ALL = NOPASSWD: /usr/bin/vpn-connect [0-9]*