Red Hat Training

A Red Hat training course is available for RHEL 8

第 34 章 使用 ldapmodify 在外部管理 IdM 用户

您可以使用 ldapmodify 和 ldap delete 实用程序直接从命令行界面(CLI)修改身份管理(IdM)LDAP。实用程序提供用于添加、编辑和删除目录内容的完整功能。您可以使用这些实用程序管理服务器的配置条目和用户条目中的数据。实用程序也可用于编写脚本,以执行一个或多个目录的批量管理。

34.1. 在外部管理 IdM 用户帐户的模板

本节论述了 IdM 中各种用户管理操作的模板。模板显示您必须使用 ldapmodify 修改哪些属性才能实现以下目标:

  • 添加新阶段用户
  • 修改用户属性
  • 启用用户
  • 禁用用户
  • 保留用户

模板采用 LDAP 数据交换格式(LDIF)格式。LDIF 是一种标准的纯文本数据交换格式,用于表示 LDAP 目录内容和更新请求。

通过使用模板,您可以配置调配系统的 LDAP 供应商来管理 IdM 用户帐户。

如需详细示例流程,请参阅以下部分:

用于添加新阶段用户的模板

  • 用于添加自动分配了 UID 和 GID 的用户的模板。创建的条目的可分辨名称(DN)必须以 uid=user_login 开头:

    dn: uid=user_login,cn=staged users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
    changetype: add
    objectClass: top
    objectClass: inetorgperson
    uid: user_login
    sn: surname
    givenName: first_name
    cn: full_name
  • 以静态方式分配 UID 和 GID 的用户模板

    dn: uid=user_login,cn=staged users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
    changetype: add
    objectClass: top
    objectClass: person
    objectClass: inetorgperson
    objectClass: organizationalperson
    objectClass: posixaccount
    uid: user_login
    uidNumber: UID_number
    gidNumber: GID_number
    sn: surname
    givenName: first_name
    cn: full_name
    homeDirectory: /home/user_login

    在添加 stage 用户时,您不需要指定任何 IdM 对象类。IdM 在激活用户后自动添加这些类。

用于修改现有用户的模板

  • 修改用户属性

    dn: distinguished_name
    changetype: modify
    replace: attribute_to_modify
    attribute_to_modify: new_value
  • 禁用用户

    dn: distinguished_name
    changetype: modify
    replace: nsAccountLock
    nsAccountLock: TRUE
  • 启用用户

    dn: distinguished_name
    changetype: modify
    replace: nsAccountLock
    nsAccountLock: FALSE

    更新 thensAccountLock 属性不会影响暂存和保留的用户。虽然更新操作成功完成,但属性值 remains nssAccountLock: TRUE

  • 保留用户

    dn: distinguished_name
    changetype: modrdn
    newrdn: uid=user_login
    deleteoldrdn: 0
    newsuperior: cn=deleted users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
注意

在修改用户之前,使用用户的登录名(DN)获取用户的可分辨名称(DN)。在以下示例中,user_allowed_to_modify_user_entries 用户是用户可以修改用户和组信息的用户,如 Activator 或 IdM 管理员。这个示例中的密码是这个用户的密码:

[...]
# ldapsearch -LLL -x -D "uid=user_allowed_to_modify_user_entries,CN=users,cn=accounts,dc=idm,dc=example,dc=com" -w "Secret123" -H ldap://r8server.idm.example.com -b "cn=users,cn=accounts,dc=idm,dc=example,dc=com" uid=test_user
dn: uid=test_user,cn=users,cn=accounts,dc=idm,dc=example,dc=com
memberOf: cn=ipausers,cn=groups,cn=accounts,dc=idm,dc=example,dc=com