Jenkins 启动用户的配置
我们再改下 配置 修改 执行的shell 命令 把pwd命令 改成useradd wd 创建用户命令
点击保存
点执行
看到失败 出错了
看输出
没有权限 执行创建用户命令,因为jenkins默认用jenkins用户启动 ,jenkins是普通用户,普通用户没有权限执行useradd命令
解决方法:
1.sudo 授权
2.用jenkins启动用户改成root用户 以root用户身份启动
查看jenkins以什么用户启动的
[root@ci-node2 My-freestyle-job]# ps aux |grep jenkins root 74201 0.0 0.1 112712 968 pts/1 R+ 01:16 0:00 grep --color=auto jenkins jenkins 108096 0.1 55.5 2339100 371140 ? Ssl Apr07 6:04 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkin.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
看配置什么也能看到
[root@ci-node2 My-freestyle-job]# cat /etc/sysconfig/jenkins |grep -v ^#|grep -v ^$ JENKINS_HOME="/var/lib/jenkins" JENKINS_JAVA_CMD="" JENKINS_USER="jenkins" JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true" JENKINS_PORT="8080" JENKINS_LISTEN_ADDRESS="" JENKINS_HTTPS_PORT="" JENKINS_HTTPS_KEYSTORE="" JENKINS_HTTPS_KEYSTORE_PASSWORD="" JENKINS_HTTPS_LISTEN_ADDRESS="" JENKINS_DEBUG_LEVEL="5" JENKINS_ENABLE_ACCESS_LOG="no" JENKINS_HANDLER_MAX="100" JENKINS_HANDLER_IDLE="20" JENKINS_ARGS=""
根据实际情况做,如果公司特别大情况下,就使用sudo 授权策略,如果是小公司,不建议使用sudo 授权做,sudo 授权划分会特别严格,
jenkins执行脚本时候,会执行好多命令,按角色配,会有很大问题,
实际工作中看情况,
建议用root用户来启动jenkins ,做认证授权,运行脚本 时候,少很多麻烦
jenkins服务器一般部署在内网使用,安全级别来说,安全级别设置太高,会给自己造成很大麻烦。
把jenkins启动用户改成root用户
[root@ci-node2 My-freestyle-job]# vim /etc/sysconfig/jenkins
wq 保存
重启jenkins
[root@ci-node2 My-freestyle-job]# systemctl restart jenkins
再看看现在是root用户启动jenkins
[root@ci-node2 My-freestyle-job]# ps aux |grep jenkins root 121117 27.0 42.7 2314048 285516 ? Ssl 16:29 0:17 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 root 121269 0.0 0.1 112712 968 pts/1 R+ 16:31 0:00 grep --color=auto jenkins
再执行构建
看输出
创建用户已完成
[root@ci-node2 My-freestyle-job]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin jenkins:x:998:996:Jenkins Automation Server:/var/lib/jenkins:/bin/false wd:x:1000:1000::/home/wd:/bin/bash
如果再执行第二次就不行了,因为不能创建重复的用户,所以要把构建项目的配置 改一下或者删除执行的命令
这就是jenkins启动用户的配置,工作中根据实际情况选择