jenkins - Jenkins Windows 服务是否需要管理员权限?
问题描述
出于安全原因,我们认为如果 Jenkins Windows 服务以没有管理员权限的用户身份运行会更好。但是,这会导致 Jenkins 服务器启动时出错:
java.io.IOException: Access is denied at
java.io.WinNTFileSystem.createFileExclusively(Native Method) at
java.io.File.createTempFile(Unknown Source) at
hudson.util.AtomicFileWriter.<init>(AtomicFileWriter.java:142)
Caused:
java.io.IOException: Failed to create a temporary file in C:\Program Files (x86)\Jenkins
用户(Windows 7,Active Directory 用户)拥有 Jenkins 文件夹的所有权限(不包括不能选择的“特殊权限”)。
以非管理员用户身份运行 Jenkins Windows 服务(服务器以及其他计算机上的从属服务器)是否可能/合理?
解决方案
我建议将 Jenkins 安装在辅助分区中,例如G:\Jenkins
.
即使你没有二级分区C:\Jenkins
也好过C:\Program Files\Jenkins
或C:\Program Files(x86)\Jenkins
避免操作系统不必要地碍事。
有了这个,我总是将 Jenkins 服务设置为作为用户(最好是具有非过期密码的服务帐户)运行,该用户是框上管理员组的成员。
这样做通常可以避免许多不必要的烦人的权限问题,这些问题只会妨碍您并减慢您的进度。
应该注意的是,当涉及到 Windows 批处理步骤时,Jenkins 不会以管理员身份运行(至少自 2007 年以来我一直在使用 Jenkins)。
推荐阅读
- python - 从检查器复制的 xpath 返回错误的结果
- java - 有关方法和类、非静态错误等的问题
- excel - 如何从另一个工作表列中获取数据并仅提取数字
- libuv - libuv 错误 - 未初始化的流
- mysql - .hasMany 调用的不是 Sequelize.Model 的子类
- spring - 每个消费者使用 gradle 从合约仓库生成存根
- javascript - Moment.js 适用于 PDT 但不适用于 IST
- reporting-services - SSRS 报告显示当前租赁的每月现金流量
- python - 如果两个数据帧都存在于数据帧中,python/pandas 合并两个数据帧
- sql - 在 SQL Server 中的第 n 个字符之后追加任何特殊字符而不会破坏单词