11.5. 允许非管理员用户管理用户条目


默认情况下,只有 admin 用户被允许管理用户生命周期,并禁用或启用用户帐户。要允许另一个非管理员用户执行此操作,创建一个新角色,在此角色中添加相关权限,并将非管理员用户分配到该角色。
默认情况下,IdM 包括以下与管理用户帐户相关的权限:
修改用户和重置密码
此特权包括修改各种用户属性的权限。
User Administrators
此特权包括添加活动用户、激活非活动用户、删除用户、修改用户属性和其他权限的权限。
阶段用户置备
此特权包括添加暂存用户的权限。
暂存用户管理员
此权限包括执行多个生命周期操作的权限,如添加暂存用户或在生命周期状态之间移动用户。但是,它不包括将用户移到 active 状态的权限。
有关定义角色、权限和权限的详情请参考 第 10.4 节 “定义基于角色的访问控制”

允许不同的用户执行不同的用户管理操作

与管理用户帐户相关的不同特权可以添加到不同的用户。例如,您可以通过以下方式分隔员工帐户条目和激活的权限:
  • 将一个用户配置为 阶段用户管理员,允许将将来的员工作为暂存用户添加到 IdM,但不允许激活它们。
  • 将另一个用户配置为 安全管理员,允许在员工凭证在就业第一天得到验证后激活暂存用户。
要允许用户执行某些用户管理操作,请创建一个具有所需特权或特权的新角色,并将该用户分配到该角色。

例 11.1. 允许非管理员用户添加阶段用户

本例演示了如何创建仅允许添加新阶段用户但不允许执行任何其他阶段用户管理操作的用户。
  1. admin 用户身份登录,或允许管理基于角色的访问控制的另一个用户身份登录。
    $ kinit admin
    
    Copy to Clipboard Toggle word wrap
  2. 创建新的自定义角色来管理添加阶段用户。
    1. 创建 系统置备 角色。
      $ ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
      --------------------------------
      Added role "System Provisioning"
      --------------------------------
      Role name: System Provisioning
      Description: Responsible for provisioning stage users
      
      Copy to Clipboard Toggle word wrap
    2. Stage User Provisioning 特权添加到该角色。此特权提供添加暂存用户的功能。
      $ ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
      Role name: System Provisioning
      Description: Responsible for provisioning stage users
      Privileges: Stage User Provisioning
      ----------------------------
      Number of privileges added 1
      ----------------------------
      
      Copy to Clipboard Toggle word wrap
  3. 为非管理员用户授予添加暂存用户的权限。
    1. 如果非 admin 用户尚不存在,请创建一个新用户。在本例中,该用户名为 stage_user_admin
      $ ipa user-add stage_user_admin --password
      First name: first_name
      Last name: last_name
      Password:
      Enter password again to verify:
      ...
      
      Copy to Clipboard Toggle word wrap
    2. stage_user_admin 用户分配给 System Provisioning 角色。
      $ ipa role-add-member "System Provisioning" --users=stage_user_admin
      Role name: System Provisioning
      Description: Responsible for provisioning stage users
      Member users: stage_user_admin
      Privileges: Stage User Provisioning
      -------------------------
      Number of members added 1
      -------------------------
      
      Copy to Clipboard Toggle word wrap
    3. 为确保正确配置了 System Provisioning 角色,您可以使用 ipa role-show 命令显示角色设置。
      $ ipa role-show "System Provisioning"
      --------------
      1 role matched
      --------------
      Role name: System provisioning
      Description: Responsible for provisioning stage users
      Member users: stage_user_admin
      Privileges: Stage User Provisioning
      ----------------------------
      Number of entries returned 1
      ----------------------------
      
      Copy to Clipboard Toggle word wrap
  4. stage_user_admin 用户身份测试添加新的 stage 用户。
    1. stage_user_admin 身份登录。请注意,如果您在前面的步骤中以一个新用户身份创建了 stage_user_admin,IdM 会要求您更改 admin 设置的初始密码。
      $ kinit stage_user_admin
      Password for stage_user_admin@EXAMPLE.COM:
      Password expired.  You must change it now.
      Enter new password:
      Enter it again:
      
      Copy to Clipboard Toggle word wrap
    2. 要确保您的 admin 的 Kerberos 票据已被 stage_user_admin 的 Kerberos 票据替代,您可以使用 klist 工具。
      $ klist
      Ticket cache: KEYRING:persistent:0:krb_ccache_xIlCQDW
      Default principal: stage_user_admin@EXAMPLE.COM
      
      Valid starting       Expires              Service principal
      02/25/2016 11:42:20  02/26/2016 11:42:20  krbtgt/EXAMPLE.COM
      
      Copy to Clipboard Toggle word wrap
    3. 添加新 stage 用户。
      $ ipa stageuser-add stage_user
      First name: first_name
      Last name: last_name
      ipa: ERROR: stage_user: stage user not found
      
      Copy to Clipboard Toggle word wrap
      注意
      预期在添加暂存用户后 IdM 报告的错误。stage_user_admin 只允许添加 stage 用户,而不可以显示有关他们的信息。因此,IdM 不会显示新添加的 stage_user 设置摘要。
stage_user_admin 用户不允许显示 stage 用户的信息。因此,当以 stage_user _ admin 身份登录时,尝试显示有关新 stage_user 用户 的信息会失败:
$ ipa stageuser-show stage_user
ipa: ERROR: stage_user: stage user not found
Copy to Clipboard Toggle word wrap
要显示 stage_user 的信息,您可以 以管理员身份登录
$ kinit admin
Password for admin@EXAMPLE.COM:
$ ipa stageuser-show stage_user
  User login: stage_user
  First name: Stage
  Last name: User
...
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat