Jenkins 2.492.2修改运行用户为 root 的方法

发布于:2025-03-12 ⋅ 阅读:(13) ⋅ 点赞:(0)

Jenkins 2.492.2 及更新版本使用 systemd 管理服务,不再使用 /etc/sysconfig/jenkins 配置文件。因此,修改 Jenkins 运行用户的方法不同于早期版本,需要通过 systemd 的 override 机制 进行配置。


1. 检查当前 Jenkins 运行用户

在修改前,先确认 Jenkins 运行的用户:

ps aux | grep jenkins

如果看到:

jenkins   1234  2.3  1.2 1234567 56789 ? Ssl  02:33   0:15 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war ...

说明 Jenkins 仍然以 jenkins 用户运行。


2. 修改 Jenkins 运行用户

2.1 使用 systemd override

执行以下命令:

sudo systemctl edit jenkins

然后在打开的编辑窗口中添加:

[Service]
User=root
Group=root

保存并退出(:wq)。


3. 重新加载 systemd 并重启 Jenkins

执行以下命令使配置生效:

sudo systemctl daemon-reload
sudo systemctl restart jenkins

4. 确认修改是否成功

检查 Jenkins 进程

ps aux | grep jenkins

如果输出类似:

root        6774 24.7  2.2 8168396 357068 ?      Ssl  02:55   0:23 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080

说明 Jenkins 已成功以 root 运行。

检查 systemd 状态

sudo systemctl status jenkins

如果 Main PID 行显示 root,则修改成功:

● jenkins.service - Jenkins Continuous Integration Server
   Loaded: loaded (/usr/lib/systemd/system/jenkins.service; enabled; vendor preset: disabled)
   Active: active (running) since ...
 Main PID: 6774 (java)
    Tasks: ...
   CGroup: /system.slice/jenkins.service
           └─6774 /usr/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war ...

进一步确认

ps -eo pid,user,comm | grep jenkins

如果输出:

6774 root java

Jenkins 运行用户设为 root 可能导致权限过大,容易被恶意插件或脚本利用,建议只在测试环境中使用。