Jenkins sudo:抱歉,您必须拥有一个终端来执行 sudo

jenkins用户启动脚本的时候,如果不是root,sudo执行命令的时候需要输入密码,但是没有终端输入sudo,所以会报一下错误:

抱歉,您必须拥有一个终端来执行 sudo

可能是因为sudo没办法输入密码,实际上并不是(实际上是因为,sudo需要终端来执行,正如字面上所说的)

那么第一个思路就是免密使用sudo了,假设我使用jenkins的账户是xdq,那么我用root账户 修改/etc/sudoers的配置,添加如下两项:

xdq    ALL=(ALL)    NOPASSWD: ALL

Defalults:xdq requiretty

也就是:

第一个配置是为了xdq免密使用所有命令,如果只添加了这一项,那么不可以不输入密码,但是还是会报错:抱歉,您必须拥有一个终端来执行 sudo

第二个配置:sudo命令默认是不能在后台运行的,如果需要在后台运行,就必须添加不用后台启动也就是: !requiretty(不需要终端来启动)

 

解决这个权限问题的另外一个方法是:我们将目录的权限赋值给用户就行了 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值