3.3. 启用组成员备份目录服务器并作为组成员之一执行备份
您可以配置组成员具有备份实例并执行备份的权限。这提高了安全性,因为您不再需要在备份脚本或 cron 任务中设置 cn=Directory Manager 的凭证。另外,您可以通过修改组来轻松授予和撤销备份权限。
3.3.1. 启用组备份目录服务器 复制链接链接已复制到粘贴板!
使用这个流程添加 cn=backup_users,ou=groups,dc=example,dc=com 组,并启用此组的成员来创建备份任务。
前提条件
-
数据库中存在
ou=groups,dc=example,dc=com条目。
流程
创建
cn=backup_users,ou=groups,dc=example,dc=com组:dsidm <instance_name> -b "dc=example,dc=com" group create --cn backup_users
# dsidm <instance_name> -b "dc=example,dc=com" group create --cn backup_usersCopy to Clipboard Copied! Toggle word wrap Toggle overflow 添加一个访问控制指令(ACI),允许
cn=backup_users,ou=groups,dc=example,dc=com组的成员创建备份任务:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建用户:
创建用户帐户:
dsidm <instance_name> -b "dc=example,dc=com" user create --uid="example" --cn="example" --uidNumber="1000" --gidNumber="1000" --homeDirectory="/home/example/" --displayName="Example User"
# dsidm <instance_name> -b "dc=example,dc=com" user create --uid="example" --cn="example" --uidNumber="1000" --gidNumber="1000" --homeDirectory="/home/example/" --displayName="Example User"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在用户帐户中设置密码:
dsidm <instance_name> -b "dc=example,dc=com" account reset_password "uid=example,ou=People,dc=example,dc=com" "password"
# dsidm <instance_name> -b "dc=example,dc=com" account reset_password "uid=example,ou=People,dc=example,dc=com" "password"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将
uid=example,ou=People,dc=example,dc=com用户添加到cn=backup_users,ou=groups,dc=example,dc=com组中:dsidm <instance_name> -b "dc=example,dc=com" group add_member backup_users uid=example,ou=People,dc=example,dc=com
# dsidm <instance_name> -b "dc=example,dc=com" group add_member backup_users uid=example,ou=People,dc=example,dc=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
显示
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
# 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=backup,cn=tasks,cn=config")(targetattr="*")(version 3.0 ; acl "permission: Allow backup_users group to create backup tasks" ; allow (add, read, search) groupdn = "ldap:///cn=backup_users,ou=groups,dc=example,dc=com";) aci: (target = "ldap:///cn=config")(targetattr = "nsslapd-bakdir || objectClass")(version 3.0 ; acl "permission: Allow backup_users group to access bakdir attribute" ; allow (read,search) groupdn = "ldap:///cn=backup_users,ou=groups,dc=example,dc=com";) ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.2. 以普通用户身份执行备份 复制链接链接已复制到粘贴板!
您可以以普通用户而不是 cn=Directory Manager 执行备份。
前提条件
-
您启用了
cn=backup_users,ou=groups,dc=example,dc=com组的成员来执行备份。 -
您用来执行备份的用户是
cn=backup_users,ou=groups,dc=example,dc=com组的成员。
流程
使用以下方法之一创建备份任务:
使用
dsconf backup create命令:dsconf -D "uid=example,ou=People,dc=example,dc=com" ldap://server.example.com backup create
# dsconf -D "uid=example,ou=People,dc=example,dc=com" ldap://server.example.com backup createCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过手动创建任务:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证是否已创建备份:
ls -l /var/lib/dirsrv/slapd-instance_name/bak/
# ls -l /var/lib/dirsrv/slapd-instance_name/bak/ total 0 drwx------. 3 dirsrv dirsrv 108 Jul 23 12:55 backup-2021_07_23_12_55_00 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow