第 11 章 启用组的成员导出数据并执行导出作为其中一个组成员
您可以配置组成员有导出数据的权限。这会提高安全性,因为您不再需要在脚本中设置 cn=Directory Manager
的凭证。另外,您可以通过修改组来轻松授予和撤销导出权限。
11.1. 启用组导出数据
使用这个步骤添加 cn=export_users,ou=groups,dc=example,dc=com
组,并启用此组的成员来创建导出任务。
流程
创建
cn=export_users,ou=groups,dc=example,dc=com
组:#
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" group create --cn export_users
添加访问控制指令(ACI),允许
cn=export_users,ou=groups,dc=example,dc=com
组的成员创建导出任务:#
ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com
dn: cn=config changetype: modify add: aci aci: (target = "ldap:///cn=export,cn=tasks,cn=config") (targetattr="*") (version 3.0 ; acl "permission: Allow export_users group to export data" ; allow (add, read, search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";) - add: aci aci: (target = "ldap:///cn=config")(targetattr = "objectclass || cn || nsslapd-suffix || nsslapd-ldifdir") (version 3.0 ; acl "permission: Allow export_users group to access ldifdir attribute" ; allow (read,search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";)创建用户:
创建用户帐户:
#
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user create --uid="example" --cn="example" --uidNumber="1000" --gidNumber="1000" --homeDirectory="/home/example/" --displayName="Example User"
在用户帐户上设置密码:
#
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" account reset_password "uid=example,ou=People,dc=example,dc=com" "password"
将
uid=example,ou=People,dc=example,dc=com
用户添加到cn=export_users,ou=groups,dc=example,dc=com
组:#
dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" group add_member export_users uid=example,ou=People,dc=example,dc=com
验证
显示
cn=config
条目中设置的 ACI:#
ldapsearch -o ldif-wrap=no -LLLx -D "cn=directory manager" -W -H ldap://server.example.com -b cn=config aci=* aci -s base
dn: cn=config aci: (target = "ldap:///cn=export,cn=tasks,cn=config")(targetattr="*")(version 3.0 ; acl "permission: Allow export_users group to export data" ; allow (add, read, search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";) aci: (target = "ldap:///cn=config")(targetattr = "objectclass || cn || nsslapd-suffix || nsslapd-ldifdir")(version 3.0 ; acl "permission: Allow export_users group to access ldifdir attribute" ; allow (read,search) groupdn = "ldap:///cn=export_users,ou=groups,dc=example,dc=com";) ...