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

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


1. 检查当前 Jenkins 运行用户

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

bash 复制代码
ps aux | grep jenkins

如果看到:

plain 复制代码
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

执行以下命令:

bash 复制代码
sudo systemctl edit jenkins

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

plain 复制代码
[Service]
User=root
Group=root

保存并退出(:wq)。


3. 重新加载 systemd 并重启 Jenkins

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

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart jenkins

4. 确认修改是否成功

检查 Jenkins 进程

bash 复制代码
ps aux | grep jenkins

如果输出类似:

plain 复制代码
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 状态

bash 复制代码
sudo systemctl status jenkins

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

plain 复制代码
● 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 ...

进一步确认

bash 复制代码
ps -eo pid,user,comm | grep jenkins

如果输出:

plain 复制代码
6774 root java

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

相关推荐
鹏大师运维5 小时前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
007张三丰6 小时前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
serve the people6 小时前
Elasticsearch(1) could you tell me how to use es if i am a beginner
大数据·elasticsearch·jenkins
weixin_604236677 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
鹤落晴春7 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
AI智图坊8 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
云计算磊哥@12 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
天天进步201512 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
极客先躯13 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结13 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器