第 9 章 使用 ldapmodify 在外部管理 IdM 用户
作为 IdM 管理员,您可以使用 ipa
命令管理您的目录内容。另外,您可以使用 ldapmodify
命令来实现类似的目标。您可以以交互方式使用这个命令,并直接在命令行中提供所有数据。您还可以在 LDAP 数据交换格式(LDIF)的文件中向 ldapmodify
命令提供数据。
9.1. 在外部管理 IdM 用户帐户的模板 复制链接链接已复制到粘贴板!
以下模板可用于 IdM 中的各种用户管理操作。模板显示您必须使用 ldapmodify
修改哪些属性才能实现以下目标:
- 添加新的 stage 用户
- 修改用户属性
- 启用用户
- 禁用用户
- 保留用户
模板的格式为 LDAP 数据交换格式(LDIF)。LDIF 是一种标准的纯文本数据交换格式,用来表示 LDAP 目录内容和更新请求。
使用模板,您可以配置调配系统的 LDAP 提供者来管理 IdM 用户帐户。
- 用于添加新 stage 用户的模板
用于添加 自动分配了 UID 和 GID 的用户的模板。所创建的条目的可区别的名称(DN)必须以
uid=user_login
开头:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 用于添加 静态分配了 UID 和 GID 的用户的模板:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在添加 stage 用户时,您不需要指定任何 IdM 对象类。在激活用户后,IdM 自动添加这些类。
- 用于修改现有用户的模板
- 修改用户属性:
dn: distinguished_name changetype: modify replace: attribute_to_modify attribute_to_modify: new_value
dn: distinguished_name changetype: modify replace: attribute_to_modify attribute_to_modify: new_value
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 禁用用户:
dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: TRUE
dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: TRUE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用用户:
dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: FALSE
dn: distinguished_name changetype: modify replace: nsAccountLock nsAccountLock: FALSE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
更新
nssAccountLock
属性不会对 stage 和preserved 用户造成影响。虽然更新操作成功完成,属性值也会保持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: distinguished_name changetype: modrdn newrdn: uid=user_login deleteoldrdn: 0 newsuperior: cn=deleted users,cn=accounts,cn=provisioning,dc=idm,dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在修改用户之前,使用用户的登录名进行搜索来获取用户的可区别名称(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://server.idm.example.com -b "cn=users,cn=accounts,dc=idm,dc=example,dc=com" uid=test_user
# 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://server.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