在禁用“允许用户注册”选项的情况下向Jenkins添加用户

61

我不希望新用户能够注册。因此,在Jenkins的配置中,我使用了Jenkins自己的用户数据库并禁用了“允许用户注册”选项。

但是现在我该如何手动添加用户呢? 还有,我应该注意哪个默认管理员用户吗?

4个回答

81

"Manage Jenkins" 中有"创建用户"。


29
看起来现在是在“管理Jenkins”>“管理用户”>“创建用户”(位于/securityRealm/addUser)下。 - kapex
13
请注意,如果您在“管理Jenkins”>“配置全局安全性”下未将Jenkins安全领域设置为“Jenkins自有用户数据库”,则不会显示此图标。 - user64141
3
那么如何添加第一个用户呢?如果我开启了安全模式,那我会被登出。 - Bojan Markovic
13
这是我见过的最糟糕的安全设置 ;) 首先,您需要在“全局安全设置”下启用安全功能,然后选择“Jenkins自有用户数据库”,并确保选中所有用户拥有自己的权限和用户可以自行注册,否则您会彻底地将自己阻止。 - kap
3
我同意这并不是一个好的安全设置。不过我找到了一种方法:管理Jenkins -> Jenkins自己的用户数据库,任何人都可以做任何事情。这样你就不需要强制登录或注册。管理Jenkins -> 管理用户,然后创建你的用户,随后相应地设置安全性。 - vezenkov
显示剩余4条评论

20

如果“允许用户注册”已被禁用且启用了安全措施,且没有可以用于登录的用户,则唯一的解决方法是手动更改服务器上的Jenkins配置并重新启动服务器。

需要更改的内容位于Jenkins主目录下的config.xml文件中。

<useSecurity>true</useSecurity>

<useSecurity>false</useSecurity>

重新启动并刷新浏览器

哇!!!


1
顺便提一下,如果您已经设置了矩阵安全性,则会添加其他标签,这将导致引导程序失败。在启用矩阵安全性的情况下,删除authorizationStrategy和securityRealm标签即可解决问题。 - ebt
警告:这将禁用您的Jenkins安装中的安全功能,而且并非创建新用户所必需。如果您的目的是创建新用户,并且您没有失去对Jenkins安装的访问权限,则我不建议这样做。 - Sam Gleske

12

管理Jenkins -> Jenkins自己的用户数据库,任何人都可以做任何事情。然后您不需要强制登录或注册。 管理Jenkins -> 管理用户,您创建您的用户,然后相应地设置安全性。

如果您没有首先设置安全方法,则无法添加用户。

配置Jenkins的便捷方法是直接编辑config.xml文件,并使用管理Jenkins -> 从磁盘重新加载配置超链接而不是重启服务。


这是管理Jenkins -> 配置全局安全性 -> Jenkins自己的用户数据库,任何人都可以做任何事情。你的回答帮了我。 - Wilder Valera
警告: “任何人都可以做任何事” 意味着您已完全禁用了安全性,因为匿名用户是“任何人”的一部分。我不建议这样做。 - Sam Gleske
1
"任何人都可以做任何事情"...然后相应地设置安全性。这只是一个临时解决方案,以便您可以设置安全性。我也不建议留下"任何人都可以做任何事情"的启用状态 - 那就没有用户的意义了 :)... - vezenkov

6
推荐的处理方式是使用基于矩阵的安全性,并保留注册。将默认权限设置为无,这样当人们注册时,除非您明确授予权限,否则他们不能实际执行任何操作。如果由于某种原因您不想保留注册,那么您需要在完成后启用添加用户功能,然后再禁用它。据我所知,除非您想手动编辑配置文件,否则没有办法关闭注册并添加用户。
没有默认管理员用户,您需要确保以最高权限添加自己,否则在启用安全性时有被锁定的风险。

好的,所以我不应该将尚未在矩阵中注册的用户名添加到列表中,否则我会冒着某个入侵者使用这样的用户名并立即获得设置权限的风险。 - fabb
是的,您还需要确保在矩阵中添加一个名为“已认证”的组,没有默认权限。这将确保任何注册用户在您明确授予更高权限级别之前都必须等待才能访问任何内容。 - CIGuy
1
我尝试以不在矩阵中的用户身份注册,但是服务器返回“状态码:404”。在我看来这很安全? - fabb
此外,将“已验证”添加到矩阵中会在名称左侧显示一个大红色减号,表示该用户/组不存在。 - fabb
警告:允许注册(即使您默认不允许已注册帐户的权限)会使您的Jenkins安装容易受到零日漏洞的攻击,这些漏洞需要帐户才能进行特权升级。我不建议这样做。 - Sam Gleske
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接