跳转至

5. 修改jenkins运行用户为root

0. 原因

# 参考:https://blog.csdn.net/qq_32352777/article/details/109267717
Jenkins安装完成后默认会创建一个jenkins的用户,并以jenkins用户运行,
在我们通过jenkins编写一些命令的时候容易出现权限不足的提示:
permision denied

通过为jenkins工作区赋予777的权限以后,也可能会出现其他的权限问题,
因此我们将jenkins以root用户运行

1、查看配置文件

cat /etc/default/jenkins|grep -Ev '^#|^$'
root@4c16g:~# cat /etc/default/jenkins|grep -Ev '^#|^$'
NAME=jenkins
JAVA_ARGS="-Djava.awt.headless=true"
PIDFILE=/var/run/$NAME/$NAME.pid
JENKINS_USER=$NAME
JENKINS_GROUP=$NAME
JENKINS_WAR=/usr/share/$NAME/$NAME.war
JENKINS_HOME=/var/lib/$NAME
RUN_STANDALONE=true
JENKINS_LOG=/var/log/$NAME/$NAME.log
JENKINS_ENABLE_ACCESS_LOG="no"
MAXOPENFILES=8192
HTTP_PORT=8080
PREFIX=/$NAME
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=$HTTP_PORT"

2. 修改jenkins运行用户

cp /etc/default/jenkins{,.bak}
vim /etc/default/jenkins

其中:

JENKINS_USER=$NAME
JENKINS_GROUP=$NAME

将其修改为:

JENKINS_USER=root
JENKINS_GROUP=root

3、重启jenkins

注:重启前请确认有没有正在构建的项目

systemctl restart jenkins

等待重启完成后,我们通过ps输出一下jenkins的进程,看一下是不是以root用户在运行了

ps -ef|grep jenkins
# 修改之前
jenkins  1237717       1  0 16:21 ?        00:00:00 /usr/bin/daemon --name=jenkins --inherit --env=JENKINS_HOME=/var/lib/jenkins --output=/var/log/jenkins/jenkins.log --pidfile=/var/run/jenkins/jenkins.pid -- /bin/java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
jenkins  1237718 1237717  5 16:21 ?        00:01:53 /bin/java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

# 修改之后
root     1313806       1  0 16:55 ?        00:00:00 /usr/bin/daemon --name=jenkins --inherit --env=JENKINS_HOME=/var/lib/jenkins --output=/var/log/jenkins/jenkins.log --pidfile=/var/run/jenkins/jenkins.pid -- /bin/java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080
root     1313807 1313806 99 16:55 ?        00:00:05 /bin/java -Djava.awt.headless=true -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

可以看到jenkins已经以root用户运行了,此时我们在构建一些项目时就不会出现权限不足的问题了。

4. 还可以修改默认端口!

vim /etc/default/jenkins

HTTP_PORT=8080

最后更新: 2022-02-22 04:55:01