6.4. 覆盖 LDAP 主目录属性

作为管理员,您可以将现有主机配置为使用 LDAP 中的帐户。但是,LDAP 中用户(名称、UID、GID、主目录、shell)的值与本地系统中的值不同。您可以按照以下步骤定义不同的主目录来覆盖 LDAP 主目录属性。

先决条件

  • root 访问权限
  • 已安装 sssd-tools

步骤

  1. 显示用户的当前主目录:

    # getent passwd user-name
    user-name:x:XXXX:XXXX::/home/home-directory:/bin/bash

    使用用户名称替换 user-name

  2. 覆盖用户的主目录:

    # sss_override user-add user-name -h new-home-directory

    使用用户名替换 user-name,并使用新的主目录替换 new-home-directory

  3. 重启 SSSD 以使更改生效:

    # systemctl restart sssd

验证步骤

  • 验证是否定义了新主目录:

    # getent passwd user-name
    user-name:x:XXXX:XXXX::/home/new-home-directory:/bin/bash
  • 可选。显示用户的覆盖:

    # sss_override user-show user-name
    user@ldap.example.com:::::::new-home-directory::

    例 6.4. 覆盖用户的主目录

    使用 admin 覆盖 sarah 用户的主目录:

    1. 显示 sarah 用户的当前主目录:

      # getent passwd sarah
      sarah:x:1001:6003::sarah:/bin/bash
    2. 使用新主目录 admin 覆盖 sarah 用户的主目录:

      # sss_override user-add sarah -h admin
    3. 重启 SSSD 以使更改生效:

      # systemctl restart sssd
    4. 验证新主目录是否已定义,并正确覆盖用户显示:

      # getent passwd sarah
      sarah:x:1001:6003::admin:/bin/bash
      
      # sss_override user-show user-name
      user@ldap.example.com:::::::admin::

其他资源

  • sss_override man page