Jenkins用户sudo免密码运行命令怎么配置?因为Jenkins server运行在jenkins 的Linux account上,但是Jenkins pipeline中需要kill掉进程,因此需要设置sudo 为免密码登陆。
下面来描述在CentOS7上配置的具体步骤。
用root账号登陆,备份/etc/sudoers文件及其权限
cp -p /etc/sudoers /etc/sudoers.bak
运行 ll /etc/sudoers 查看文件权限, 默认的权限为400
运行chmod 600 /etc/sudoers 来修改为root账号有写权限
运行 vim /etc/sudoers 来修改该文件,允许root组下的用户不需要密码运行任何命令:
修改前:
## Same thing without a password # %wheel ALL=(ALL) NOPASSWD: ALL
修改后:
## Same thing without a password %root ALL=(ALL) NOPASSWD: ALL
保存修改。
真正的生产环境中可能需要对能够运行的命令进行限制,这里为了简单起见,设置为可以运行任何命令。
运行chmod 400 /etc/sudoers 恢复为原来的默认权限400
添加jenkins Linux account到root 组中:
usermod -a -G root jenkins
运行id jenkins 查看jenkins Linux account是否已经属于root 组
重启Jenkins:
systemctl restart jenkins