11.6. 将外部置备系统用于用户和组
身份管理支持配置您的环境,以便使用用于管理身份的外部解决方案在 IdM 中置备用户和组身份。这部分论述了这类配置的示例。这个示例包括:
11.6.1. 配置要由外部置备系统使用的用户帐户 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
此流程演示了如何配置两个 IdM 用户帐户供外部置备系统使用。通过使用合适的密码策略将帐户添加到组中,您可以使外部调配系统来管理 IdM 中的用户调配。
- 创建用户
provisionator
,并具有添加 stage 用户的特权。该用户帐户将供外部调配系统用于添加新的暂存用户。- 添加
provisionator
用户帐户:ipa user-add provisionator --first=provisioning --last=account --password
$ ipa user-add provisionator --first=provisioning --last=account --password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 为
provisionator
用户授予所需的特权。创建一个自定义角色System Provisioning
,来管理添加 stage 用户:ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
$ ipa role-add --desc "Responsible for provisioning stage users" "System Provisioning"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将Stage User Provisioning
特权添加到该角色。这个特权提供了添加 stage 用户的能力:ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
$ ipa role-add-privilege "System Provisioning" --privileges="Stage User Provisioning"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将provisionator
用户添加到角色中:ipa role-add-member --users=provisionator "System Provisioning"
$ ipa role-add-member --users=provisionator "System Provisioning"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 创建用户
activator
,其具有管理用户帐户的特权。用户帐户将用于自动激活由外部调配系统添加的暂存用户。- 添加
activator
用户帐户:ipa user-add activator --first=activation --last=account --password
$ ipa user-add activator --first=activation --last=account --password
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 授予
activator
用户所需的特权。将用户添加到默认的User Administrator
角色中:ipa role-add-member --users=activator "User Administrator"
$ ipa role-add-member --users=activator "User Administrator"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 为服务和应用程序帐户创建用户组:
ipa group-add service-accounts
$ ipa group-add service-accounts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新组的密码策略。以下策略可防止帐户的密码过期和锁住,但通过要求复杂的密码来弥补潜在的风险:
ipa pwpolicy-add service-accounts --maxlife=10000 --minlife=0 --history=0 --minclasses=4 --minlength=20 --priority=1 --maxfail=0 --failinterval=1 --lockouttime=0
$ ipa pwpolicy-add service-accounts --maxlife=10000 --minlife=0 --history=0 --minclasses=4 --minlength=20 --priority=1 --maxfail=0 --failinterval=1 --lockouttime=0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将置备和激活帐户添加到服务和应用程序帐户的组中:
ipa group-add-member service-accounts --users={provisionator,activator}
$ ipa group-add-member service-accounts --users={provisionator,activator}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更改用户帐户的密码:
kpasswd provisionator kpasswd activator
$ kpasswd provisionator $ kpasswd activator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 需要更改密码,因为新 IdM 用户的密码会立即过期。
其他资源 :
- 有关添加新用户的详情请参考 第 11.2.1 节 “添加阶段或活动用户”。
- 有关授予用户管理其他用户帐户所需的权限的详情,请参考 第 11.5 节 “允许非管理员用户管理用户条目”。
- 有关管理 IdM 密码策略的详情,请参考 第 28 章 定义密码策略。
11.6.2. 配置 IdM 以自动激活暂存用户帐户 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
此流程演示了如何为激活 stage 用户创建脚本。系统在指定的时间间隔自动运行脚本。这样可确保新用户帐户被自动激活,并在创建后很快可用。
重要
该程序假定新用户帐户不需要验证,脚本才会将它们添加到 IdM。例如,如果用户已经由外部调配系统的所有者验证,则不需要验证。
这对于仅在一个 IdM 服务器上启用激活过程足够了。
- 为激活帐户生成 keytab 文件:
ipa-getkeytab -s example.com -p "activator" -k /etc/krb5.ipa-activation.keytab
# ipa-getkeytab -s example.com -p "activator" -k /etc/krb5.ipa-activation.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您要在多个 IdM 服务器上启用激活过程,请仅在一个服务器上生成 keytab 文件。然后,将 keytab 文件复制到其他服务器上。 - 创建一个包含以下内容的
/usr/local/sbin/ipa-activate-all
脚本来激活所有用户:#!/bin/bash kinit -k -i activator ipa stageuser-find --all --raw | grep " uid:" | cut -d ":" -f 2 | while read uid; do ipa stageuser-activate ${uid}; done
#!/bin/bash kinit -k -i activator ipa stageuser-find --all --raw | grep " uid:" | cut -d ":" -f 2 | while read uid; do ipa stageuser-activate ${uid}; done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 编辑
ipa-activate-all
脚本的权限和所有权,使其可执行:chmod 755 /usr/local/sbin/ipa-activate-all chown root:root /usr/local/sbin/ipa-activate-all
# chmod 755 /usr/local/sbin/ipa-activate-all # chown root:root /usr/local/sbin/ipa-activate-all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建包含以下内容的
systemd
单元文件/etc/systemd/system/ipa-activate-all.service
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建一个
systemd
计时器/etc/systemd/system/ipa-activate-all.timer
,其内容如下:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 启用
ipa-activate-all.timer
:systemctl enable ipa-activate-all.timer
# systemctl enable ipa-activate-all.timer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源:
- 有关
systemd
单元文件的更多信息,请参阅 系统管理员指南中的使用 systemd 单元文件 管理服务章节。
11.6.3. 配置外部置备系统的 LDAP 提供程序来管理 IdM 标识符 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
本节介绍各种用户和组管理操作的模板。使用这些模板,您可以配置置备系统的 LDAP 提供程序来管理 IdM 用户帐户。例如,您可以将系统配置为在员工离开公司后激活用户帐户。
使用 LDAP 管理用户帐户
您可以添加新用户条目、修改现有条目、在不同的生命周期状态之间移动用户,或通过编辑底层目录服务器数据库来删除用户。要编辑数据库,请使用
ldapmodify
工具。
以下 LDIF 格式的模板提供了有关使用
ldapmodify
修改的属性的信息。有关详细的示例步骤,请参阅 例 11.2 “使用 ldapmodify
添加 Stage 用户” 和 例 11.3 “使用 ldapmodify
保留用户”。
- 添加新的 stage 用户
- 使用 UID 和 GID 自动分配用户:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 静态分配使用 UID 和 GID 的用户:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在添加 stage 用户时,您不需要指定任何 IdM 对象类。在激活用户后,IdM 自动添加这些类。请注意,所创建的条目的可分辨名称(DN)必须以uid=user_login
开头。 - 修改现有用户
- 在修改用户之前,请通过按用户登录搜索来获取用户的区分名称(DN)。在以下示例中,以下示例中的 user_allowed_to_read 用户是允许读取用户和组信息的用户,密码 是此用户的密码:
ldapsearch -LLL -x -D "uid=user_allowed_to_read,cn=users,cn=accounts,dc=example, dc=com" -w "password" -H ldap://server.example.com -b "cn=users, cn=accounts, dc=example, dc=com" uid=user_login
# ldapsearch -LLL -x -D "uid=user_allowed_to_read,cn=users,cn=accounts,dc=example, dc=com" -w "password" -H ldap://server.example.com -b "cn=users, cn=accounts, dc=example, dc=com" uid=user_login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修改用户的属性: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 保留用户:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新nssAccountLock
属性不会对 stage 和preserved 用户造成影响。虽然更新操作成功完成,属性值仍然保持nssAccountLock:对
. - 创建新组
- 要创建新组,请执行以下操作:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 修改组
- 在修改组之前,请通过按组名称搜索来获取组的区分名称(DN)。
ldapsearch -YGSSAPI -H ldap://server.example.com -b "cn=groups,cn=accounts,dc=example,dc=com" "cn=group_name"
# ldapsearch -YGSSAPI -H ldap://server.example.com -b "cn=groups,cn=accounts,dc=example,dc=com" "cn=group_name"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除现有组:dn: group_distinguished_name changetype: delete
dn: group_distinguished_name changetype: delete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将成员添加到组中:dn: group_distinguished_name changetype: modify add: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
dn: group_distinguished_name changetype: modify add: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从组中删除成员:dn: distinguished_name changetype: modify delete: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
dn: distinguished_name changetype: modify delete: member member: uid=user_login,cn=users,cn=accounts,dc=example,dc=com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 不要向组中添加 stage 或 preserved 的用户。即使更新操作成功完成,也不会作为组的成员更新用户。只有活动的用户才能属于组。
例 11.2. 使用 ldapmodify
添加 Stage 用户
使用标准
interorgperson
对象类添加新 stageuser
用户:
- 使用
ldapmodify
添加用户。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 考虑验证暂存条目的内容,以确保您的置备系统添加了所有必要的 POSIX 属性,并且暂存条目已就绪,可激活。使用 ipa stageuser-show --all --raw 命令显示新的 stage 用户的 LDAP 属性。请注意,由
nsaccountlock
属性显式禁用该用户:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
例 11.3. 使用 ldapmodify
保留用户
使用 LDAP
modrdn
操作保留用户:
- 使用
ldapmodify
工具修改用户条目。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - (可选)通过列出所有保留的用户来验证用户是否已保留。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow