![b0f1805702a0de189c9838e73d8c0425.png](https://img-blog.csdnimg.cn/img_convert/b0f1805702a0de189c9838e73d8c0425.png)
问题:
Jenkins执行shell时提示权限不够 和 sudo:没有终端存在,且未指定 askpass 程序
解释
Jenkins服务是默认是jenkins用户启动的,权限较小,需要赋予sudo权限才能执行脚本命令,否则无法操作,比如压缩、强制覆盖等操作在jenkins执行sudo命令时,默认会提示输入密码,实际没有地方输入,那么就会报没有终端存在
解决
第一种方法:给jenkins用户添加sudo权限和不用输入密码#cat /etc/sudoers.d/jenkinsDefaults:jenkins !requirettyjenkins ALL=(ALL) NOPASSWD: ALL第二种方法:改变jenkins服务启用用户为rootvi /etc/sysconfig/jenkinsJENKINS_USER="jenkins"修改为JENKINS_USER="root"然后重启服务systemctl restart jenkins