在Rundeck中创建非admin用户



我在创建非管理员用户时遇到问题。

我已经能够在realm.properties文件中创建用户并为他们添加所需的角色。

我的问题是,除了我指定的其他角色之外,我创建的每个用户都被赋予了admin角色。

我的用户创建过程如下:

  1. useradd myuser
  2. passwd myuser
  3. 编辑领域。属性添加myuser:mypassword,user,group2,group3

我还添加了一个用户第一的领域。属性,然后再将用户添加到系统中,看看它是否有影响。

我知道我根本不明白Rundeck是如何对用户进行身份验证的,但事实是,除了用户总是拥有管理员角色之外,其他所需的角色之外,一切都工作正常,这让我发疯。

编辑:

添加其他尝试创建用户的描述

  1. realm.properties
  2. 中创建operationsuser2用户
  3. 重启运行包(或运行运行包的机器)
  4. operationsuser2用户登录失败

添加realm.properties

#
# This sets the default user accounts for the Rundeck app
#
admin:admin,user,admin,architect,deploy,build
otheradmin:adminPass,user,admin,architect,deploy,build
operationsuser1:myPass1,user,operations
operationsuser2:myPass2,user,operations

添加我一直在尝试测试的访问策略lol

description: Operations manager project access
context:
application: 'rundeck'
by:
group: operations
for:
project:
- equals:
name: 'myProject'
allow: [read]
---
description: Operations manager project specific rules
context:
project: 'myProject'
by:
group: operations
for:
job:
- equals:
uuid: 096852ba-099e-42c1-9373-11621f17398d
allow: [read, run]
node:
- allow: 'read'
adhoc:
- allow: [read, run]
我想我已经知道为什么所有的用户都是管理员了。在与最初设置Rundeck的同事澄清了一些误解之后,他告诉我他设置了PAM,这让我调查了下面的jaas配置。我们使用的是JettyPamLoginModule。

应寻求机会~ sudo cat/etc/rundak/jaas-loginmodule.conf

RDpropertyfilelogin {
org.rundeck.jaas.jetty.JettyPamLoginModule requisite
debug="true"
service="sshd"
supplementalRoles="admin"
storePass="true";
org.rundeck.jaas.jetty.JettyRolePropertyFileLoginModule required
debug="true"
useFirstPass="true"
file="/etc/rundeck/realm.properties";
};

我现在明白了为什么我创建的每个Unix系统用户都允许我登录Rundeck,同时也是一个管理员。

然而,我仍然不明白为什么我不能用我在realm.properties中创建的用户登录。

我认为JettyRolePropertyFileLoginModule将允许我们在realm.properties文件中创建用户,然后用他们登录到Rundeck。

ReloadablePropertyFileLoginModule模块添加到RDpropertyfilelogin中。

在此之后,JettyRolePropertyFileLoginModule不是用于身份验证目的。

org. runkk.jaas .jetty. jettyrolepropertyfileloginmodule没有验证并且仅使用属性文件中的授权角色。可与前面的模块组合使用

因此,要使其工作,请遵循以下配置并重新启动Rundeck服务:

jaas-loginmodule.conf文件:

RDpropertyfilelogin {
org.rundeck.jaas.jetty.JettyPamLoginModule optional
debug="true"
service="sshd"
supplementalRoles="user,readonly"
storePass="true";
org.rundeck.jaas.jetty.ReloadablePropertyFileLoginModule optional
debug="true"
useFirstPass="true"
file="/etc/rundeck/realm.properties"
storePass="true";
org.rundeck.jaas.jetty.JettyRolePropertyFileLoginModule required
debug="true"
useFirstPass="true"
file="/etc/rundeck/realm.properties";
};

realm.properties文件。

admin:admin,admin
bob: -,admin

bob用户(PAM)条目它只是为他定义管理员角色。

现在,使用JettyRolePropertyFileLoginModule模块,您可以在realm.properties文件上添加任何用户,而无需重新启动运行包,同时保留PAM授权用户。

在Rundeck 4.3.1 (Debian 9)上测试。

最新更新