3.3. 启用组成员备份目录服务器并作为组成员之一执行备份


您可以配置组成员具有备份实例并执行备份的权限。这提高了安全性,因为您不再需要在备份脚本或 cron 任务中设置 cn=Directory Manager 的凭证。另外,您可以通过修改组来轻松授予和撤销备份权限。

3.3.1. 启用组备份目录服务器

使用这个流程添加 cn=backup_users,ou=groups,dc=example,dc=com 组,并启用此组的成员来创建备份任务。

前提条件

  • 数据库中存在 ou=groups,dc=example,dc=com 条目。

流程

  1. 创建 cn=backup_users,ou=groups,dc=example,dc=com 组:

    # dsidm <instance_name> -b "dc=example,dc=com" group create --cn backup_users
    Copy to Clipboard Toggle word wrap
  2. 添加一个访问控制指令(ACI),允许 cn=backup_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=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";)
    -
    add: aci
    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 Toggle word wrap
  3. 创建用户:

    1. 创建用户帐户:

      # 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 Toggle word wrap
    2. 在用户帐户中设置密码:

      # dsidm <instance_name> -b "dc=example,dc=com" account reset_password "uid=example,ou=People,dc=example,dc=com" "password"
      Copy to Clipboard Toggle word wrap
  4. 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
    Copy to Clipboard Toggle word wrap

验证

  • 显示 cn=config 条目上设置的 ACI:

    # ldapsearch -o ldif-wrap=no -LLLx -D "cn=Directory Manager" -W -H ldap://server.example.com -b cn=config aci=&#42; 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 Toggle word wrap

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
      Copy to Clipboard Toggle word wrap
    • 通过手动创建任务:

      # ldapadd -D "uid=example,ou=People,dc=example,dc=com" -W -H ldap://server.example.com
      
      dn: cn=backup-2021_07_23_12:55_00,cn=backup,cn=tasks,cn=config
      changetype: add
      objectClass: extensibleObject
      nsarchivedir: /var/lib/dirsrv/slapd-<instance_name>/bak/backup-2021_07_23_12:55_00
      nsdatabasetype: ldbm database
      cn: backup-2021_07_23_12:55_00
      Copy to Clipboard Toggle word wrap

验证

  • 验证是否已创建备份:

    # 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 Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat