以Jenkins的身份运行shell脚本

Modified on: Wed, 11 Sep 2019 16:20:02 +0800

我正在运行EC2实例。如何通过Jenkins使用sudo运行命令?
当我尝试sudo touch /home/ec2-user/foo.bar时,我收到以下错误:sudo: no tty present and no askpass program specified

我做错了什么?

作者:whirlwin

最佳答案

默认情况下,如果没有TTY,则无法使用sudo。为此:

  • 在sudoers中禁用'requiretty'(使用visudo)

    • 这相当于评论'Defaults requiretty'(使用visudo)

  • 确保您的用户无需输入密码即可登录:

    • 在sudoers中设置'NOPASSWD'
    • 如果用户不存在,则创建用户

  • 设置visiblepw - 这将允许sudo工作,即使显示输入的密码

    • (在某些情况下无法禁用回声时需要)。
作者:cyberx86

相关问答

添加新评论