Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.6. SSSD 客户端视图

SSSD 允许您创建一个客户端视图来为 POSIX 用户或组属性指定新值。视图仅对配置了覆盖的本地计算机生效。您可以为除 ipa 以外的所有 id_provider 值配置客户端覆盖。如果您使用 ipa 供应商,请在 IdM 中集中定义 ID 视图。请参阅《 Linux 域身份、身份验证和策略指南》 中的对应部分。
如需更多信息,请参阅 Linux 域身份、身份验证和策略指南 中的对 SSSD 性能的影响 部分。
注意
使用 sss_override user-addsss_override group-addsss_override user-import 命令创建第一次覆盖后,重启 SSSD 以使更改生效:
# systemctl restart sssd

7.6.1. 为用户帐户定义不同的属性值

作为管理员,您要将现有主机配置为使用 LDAP 中的帐户。但是,LDAP 中的用户新 ID 与本地系统上的用户之前 ID 不同。您可以配置客户端侧视图来覆盖 UID,而不是更改现有文件的权限。
使用 UID 6666 覆盖用户帐户 的 UID:
  1. 可选。显示 用户帐户 的当前 UID:
    # id user
    uid=1241400014(user_name) gid=1241400014(user_name) Groups=1241400014(user_name)
  2. 使用 6666 覆盖帐户的 UID:
    # sss_override user-add user -u 6666
  3. 等待内存中缓存过期。手动过期:
    # sss_cache --users
  4. 验证是否应用了新的 UID:
    # id user
    uid=6666(user_name) gid=1241400014(user_name) Groups=1241400014(user_name)
  5. 可选。显示用户的覆盖:
    # sss_override user-show user
    user@ldap.example.com::6666:::::
如需您可以覆盖的属性列表,请在命令中添加 --help 来列出命令行选项:
# sss_override user-add --help

7.6.2. 列出主机上的所有覆盖

作为管理员,您要列出主机上的所有用户和组覆盖,以验证是否已覆盖正确的属性。
列出所有用户覆盖:
# sss_override user-find
user1@ldap.example.com::8000::::/bin/zsh:
user2@ldap.example.com::8001::::/bin/bash:
...
列出所有组覆盖:
# sss_override group-find
group1@ldap.example.com::7000
group2@ldap.example.com::7001
...

7.6.3. 删除本地覆盖

您之前为 用户帐户 的 shell 创建覆盖,该帐户在全局 LDAP 目录中定义。要删除帐户的覆盖,请运行:
# sss_override user-del user
更改会立即生效。
要为组群删除覆盖,请运行:
# sss_override group-del group
注意
当您为用户或组群删除覆盖时,此对象的所有覆盖都会被删除。

7.6.4. 导出和导入本地视图

客户端视图存储在本地 SSSD 缓存中。您可以将用户和组视图从缓存导出到文件,以创建备份。例如,当删除 SSSD 缓存时,您可以稍后重新恢复视图。
备份用户和组视图:
# sss_override user-export /var/lib/sss/backup/sssd_user_overrides.bak
# sss_override group-export /var/lib/sss/backup/sssd_group_overrides.bak
恢复用户和组视图:
# sss_override user-import /var/lib/sss/backup/sssd_user_overrides.bak
# sss_override group-import /var/lib/sss/backup/sssd_group_overrides.bak