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 可能导致权限过大,容易被恶意插件或脚本利用,建议只在测试环境中使用。

相关推荐
Watink Cpper34 分钟前
[多线程]基于环形队列(RingQueue)的生产者-消费者模型的实现
linux·运维·服务器·消费者·生产者·生产者消费者模型
渗透测试老鸟-九青1 小时前
我与红队:一场网络安全实战的较量与成长
运维·服务器·网络·经验分享·安全·web安全·代码审计
Albert XUU2 小时前
nettrace rtt分析器
linux·运维·网络·网络协议·网络安全·腾讯云·运维开发
小小的木头人2 小时前
CentOS 8 更换软件源
linux·运维·centos
BigBookX3 小时前
通过 ElasticSearch的Python API和`curl` 命令获取Elasticsearch 所有索引名称
大数据·elasticsearch·jenkins
珹洺3 小时前
数据库系统概论(三)数据库系统的三级模式结构
java·运维·服务器·数据库·oracle
正经教主3 小时前
【菜鸟飞】Conda安装部署与vscode的结合使用
运维·vscode·python·conda
刊wo3 小时前
Websoft9 运维面板,全网真正的一键部署应用
运维
Dusk_橙子3 小时前
在运维工作中,Lvs、nginx、haproxy工作原理分别是什么?
运维·nginx·lvs
小wanga3 小时前
【Linux】网络层、数据链路层、DNS、ICMP协议、NAT技术
linux·运维·网络