3.7. 分配密码管理员权限
Directory Manager 可以为用户或组分配 密码管理员角色。由于密码管理员需要具有适当权限的访问控制指令(ACI),因此红帽建议您配置组,以允许单个 ACI 管理所有密码管理员。
在以下情况下使用密码管理员角色很有用:
- 设置一个请求,强制用户在下次登录时更改密码
- 将用户的密码改为密码策略中定义的其他存储方案中
密码管理员可以执行任何用户密码操作。当使用密码管理员帐户或 Directory Manager (root DN)设置密码时,会绕过密码策略,且不会验证。不要将这些帐户用于常规用户密码管理。红帽建议在数据库中的现有角色下执行常规密码更新,并只更新 userPassword 属性。
您可以在 cn=config 条目下添加一个新的 passwordAdminSkipInfoUpdate: on/off 设置,以对密码管理员执行的密码更新提供精细控制。当您启用此设置时,密码更新不会更新某些属性,例如 passwordHistory、passwordExpirationTime、passwordRetryCount、pwdReset,以及 passwordExpWarned。
3.7.1. 在全局策略中分配密码管理员权限 复制链接链接已复制到粘贴板!
在全局策略中,您可以将密码管理员角色分配给用户或一组用户。红帽建议您配置组,以允许设置单个访问控制指令(ACI)来管理所有密码管理员。
前提条件
-
您已创建了一个名为
password_admins的组,其中包含您要为其分配密码管理员角色的所有用户。
流程
创建 ACI,为密码管理员角色定义权限:
# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF dn: ou=people,dc=example,dc=com changetype: modify add: aci aci: (targetattr="userPassword || nsAccountLock || userCertificate || nsSshPublicKey")(targetfilter="(objectClass=nsAccount)")(version 3.0; acl "Enable user password reset"; allow (write, read)(groupdn="ldap:///cn=password_admins,ou=groups,dc=example,dc=com");) EOF为组分配密码管理员角色:
# dsconf <instance_name> pwpolicy set --pwdadmin "cn=password_admins,ou=groups,dc=example,dc=com"
3.7.2. 在本地策略中分配密码管理员权限 复制链接链接已复制到粘贴板!
在本地策略中,您可以将密码管理员角色分配给用户或一组用户。红帽建议您配置组,以允许设置单个访问控制指令(ACI)来管理所有密码管理员。
前提条件
-
您已创建了一个名为
password_admins的组,其中包含您要为其分配密码管理员角色的所有用户。
流程
创建 ACI,为密码管理员角色定义权限:
# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF dn: ou=people,dc=example,dc=com changetype: modify add: aci aci: (targetattr="userPassword || nsAccountLock || userCertificate || nsSshPublicKey")(targetfilter="(objectClass=nsAccount)")(version 3.0; acl "Enable user password reset"; allow (write, read)(groupdn="ldap:///cn=password_admins,ou=groups,dc=example,dc=com");) EOF为组分配密码管理员角色:
# dsconf <instance_name> localpwp set ou=people,dc=example,dc=com --pwdadmin "cn=password_admins,ou=groups,dc=example,dc=com"