6.7.13. Identity Management

使用 GSSAPI 身份验证时,允许带有过期帐户的 AD 用户登录

SSSD 用于查看帐户是否已过期的 accountExpires 属性默认不会复制到全局目录中。因此,帐户过期的用户在使用 GSSAPI 身份验证时可以登录。要临时解决这个问题,可以通过在 sssd.conf 文件中指定 ad_enable_gc=False 来禁用全局目录支持。使用这个设置时,帐户过期的用户在使用 GSSAPI 身份验证时将被拒绝访问。

请注意,SSSD 在此场景中单独连接到每个 LDAP 服务器,这样可以增加连接数。

(BZ#1081046)

cert-fix 工具与 --agent-uid pkidbuser 选项一起使用会破坏证书系统

使用带有 --agent-uid pkidbuser 选项的 cert-fix 工具可破坏证书系统的 LDAP 配置。因此,,证系统可能会变得不稳定,需要手动步骤才能恢复该系统。

(BZ#1729215)

更改 /etc/nsswitch.conf 需要手动重启

/etc/nsswitch.conf 文件的任何更改(例如运行 authselect select profile_id 命令)都需要重启系统,以便所有相关进程使用 /etc/nsswitch.conf 文件的更新版本。如果无法重启系统,重启将您的系统加入 Active Directory 的服务,这是 System Security Services Daemon (SSSD)或 winbind

(BZ#1657295)

在 IdM 中启用 AD 信任时,没有显示有关所需 DNS 记录的信息

当通过外部 DNS 管理启用对 Red Hat Enterprise Linux Identity Management(IdM)安装中的 Active Directory(AD)信任时,不会显示有关所需 DNS 记录的信息。只有添加所需的 DNS 记录后,林信任才会成功。要临时解决这个问题,请运行 'ipa dns-update-system-records --dry-run' 命令,以获取 IdM 所需的所有 DNS 记录列表。当 IdM 域的外部 DNS 定义所需的 DNS 记录时,有可能建立对 AD 的林信任。

(BZ#1665051)

SSSD 为本地用户返回不正确的 LDAP 组成员资格

如果系统安全服务守护进程(SSSD)从本地文件为用户提供服务,则文件提供商不包含来自其他域的组成员资格。因此,如果本地用户是 LDAP 组的成员,id local_user 命令不会返回用户的 LDAP 组成员资格。要临时解决这个问题,请恢复系统在 /etc/nsswitch.conf 文件中查找用户组成员资格的数据库顺序,将 sss files 替换为 files sss,或者通过添加来禁用隐式 files

enable_files_domain=False

到文件 /etc/sssd/sssd.conf 中的 [sssd] 部分。

因此,id local_user 会为本地用户返回正确的 LDAP 组成员资格。

(BZ#1652562)

在 RHEL 8 中 systemd-user 的默认 PAM 设置已更改,这可能会影响 SSSD 行为

Red Hat Enterprise Linux 8 中更改了可插拔验证模块(PAM)堆栈。例如: systemd 用户会话现在使用 systemd-user PAM 服务启动 PAM 对话。这个服务现在以递归方式包含 system-auth PAM 服务,它可能包括 pam_sss.so 接口。这意味着始终调用 SSSD 访问控制。

请注意为 RHEL 8 系统设计访问控制规则时的更改。例如,您可以在允许的服务列表中添加 systemd-user 服务。

请注意,对于一些访问控制机制,如 IPA HBAC 或 AD GPOs,默认情况下 systemd-user 服务已添加到允许的服务列表中,您不需要进行任何操作。

(BZ#1669407)

SSSD 无法正确处理具有相同优先级的多个证书匹配规则

如果给定证书与多个具有相同优先级的证书匹配规则匹配,系统安全服务守护进程(SSSD)只使用其中一个规则。作为临时解决方案,请使用单个证书匹配规则,该规则 LDAP 过滤器由与 | (或)运算符串联的独立规则的过滤器组成。有关证书匹配规则的示例,请参阅 sss-certamp(5)man page。

(BZ#1447945)

当定义了多个域时,无法使用 auto_private_group = 混合创建专用组

如果定义了多个域,并且第一个域以外的任何域使用混合选项,则专用组无法通过选项 auto_private_group = 混合创建。如果在 sssd.conf`file and is not marked as `MPG_HYBRID 中定义了隐式文件域和 中的 AD 或 LDAP 域,那么 SSSD 无法为具有 uid=gid 的用户创建私有组,并且具有这个 gid 的组在 AD 或 LDAP 中不存在。

sssd_nss 响应程序仅检查第一个域中 auto_private_groups 选项的值。因此,在配置多个域的设置中,在 RHEL 8 中包括默认设置的设置中,auto_private_group 选项无效。

要临时解决这个问题,在 sssd.conf 的 sssd 部分设置 enable_files_domain = false。因此,如果 enable_files_domain 选项被设置为 false,则 sssd 不会在活跃域列表的开头添加 id_provider=files 的域,因此不会出现这个程序错误。

(BZ#1754871)

python-ply 不兼容 FIPS

python-ply 软件包的 YACC 模块使用 MD5 哈希算法来生成 YACC 签名的指纹。但是,FIPS 模式会阻止使用 MD5,只有非安全上下文中才允许这样做。因此,python-ply 不兼容 FIPS。在 FIPS 模式中的系统中,所有调用 ply.yacc.yacc() 都会失败并显示错误消息:

"UnboundLocalError: local variable 'sig' referenced before assignment"

此问题会影响 python-pycparser 以及 python-cffi 的一些用例。要临时解决这个问题,修改 /usr/lib/python3.6/site-packages/ply/yacc.py 文件的第 2966 行,将 sig = md5() 替换为 sig = md5(usedforsecurity=False)。因此,python-ply 可以在 FIPS 模式中使用。

(BZ#1747490)