4.15. 身份管理

目录服务器不再使用全局更改日志

在这个版本中,Directory 服务器 changelog 已集成到主数据库中。在以前的版本中,Directory 服务器使用全局更改日志。但是,如果目录使用多个数据库,这可能会导致问题。现在,每个后缀在与常规数据库文件相同的目录中都有自己的 changelog。

(BZ#1805717)

Ansible-freeipa 现在可在带有所有依赖项的 AppStream 存储库中

以前,在 RHEL 8 中,安装 ansible-freeipa 软件包之前,您必须首先启用 Ansible 存储库并安装 ansible 软件包。在 RHEL 8.6 和 RHEL 9 中,您可以在没有任何初始步骤的情况下安装 ansible-freeipa。安装 ansible-freeipa 会自动安装 ansible-core 软件包,它是更基本的 ansible 版本,作为依赖项。ansible-freeipaansible-core 都位于 rhel-9-for-x86_64-appstream-rpms 存储库中。

RHEL 8.6 和 RHEL 9 中的 Ansible -freeipa 包含了它在 RHEL 8 中包含的所有模块。

(JIRA:RHELPLAN-100359)

IdM 现在支持 automountlocationautomountmapautomountkey Ansible 模块

在这个版本中,ansible-freeipa 软件包包含 ipaautomountlocationipaautomountmapipaautomountkey 模块。您可以使用这些模块为登录到 IdM 位置的 IdM 客户端自动挂载目录。请注意,目前只支持直接映射。

(JIRA:RHELPLAN-79161)

shadow-utils 中提供了管理 subID 范围的支持

在以前的版本中,shadow-utils 配置来自 /etc/subuid/etc/subgid 文件的 subID 范围。在这个版本中,/etc/nsswitch.conf 文件中提供了 subID 范围配置,方法是在 subid 字段中设置值。如需更多信息,请参阅 man subuidman subgid。另外,通过此次更新,shadow-utils 插件的 SSSD 实施可用,它提供来自 IPA 服务器的 subID 范围。要使用此功能,请将 subid: sss 值添加到 /etc/nsswitch.conf 文件。此解决方案在容器化环境中可能很有用,以促进无根容器。

请注意,如果 /etc/nsswitch.conf 文件由 authselect 工具配置,您必须遵循 authselect 文档中介绍的步骤。否则,您可以手动修改 /etc/nsswitch.conf 文件。

(BZ#1859252)

IdM 中提供管理 subID 范围的支持

借助此次更新,您可以管理身份管理中用户的 ID 子范围。您可以使用 ipa CLI 工具或 IdM WebUI 界面向用户分配自动配置的 subID 范围,这可能在容器化环境中很有用。

(BZ#1952028)

身份管理安装软件包已进行演示

在以前的版本中,在 RHEL 8 中,IdM 软件包作为模块发布,需要启用流并安装与所需安装对应的配置集。IdM 安装软件包在 RHEL 9 中进行了演示,因此您可以使用以下 dnf 命令安装 IdM 服务器软件包:

对于没有集成 DNS 服务的服务器:

# dnf install ipa-server

对于具有集成 DNS 服务的服务器:

# dnf install ipa-server ipa-server-dns

(BZ#2080875)

传统的 RHEL ansible-freeipa 存储库的替代方案:Ansible Automation Hub

有了这个更新,您可以从 Ansible Automation Hub(AAH)下载 ansible-freeipa 模块,而不是从标准的 RHEL 存储库下载它们。通过使用 AAH,您可以从此存储库中 ansible-freeipa 模块的快速更新中受益。

在 AAH 中,ansible-freeipa 角色和模块以集合的形式发布。请注意,您需要 Ansible Automation Platform(AAP)订阅来访问 AAH 门户中的内容。您还需要 ansible 版本 2.9 或更高版本。

redhat.rhel_idm 集合与传统的 ansible-freeipa 软件包具有相同的内容。但是,集合形式使用完全限定的集合名称(FQCN),其中包含一个命名空间和集合名称。例如,redhat.rhel_idm.ipadnsconfig 模块对应于 RHEL 存储库提供的 ansible-freeipa 中的 ipadnsconfig 模块。命名空间和集合名称的组合可确保对象是唯一的,并可无冲突地共享。

(JIRA:RHELPLAN-103147)

Ansible-freeipa 模块现在可以在 IdM 客户端上远程执行

在以前的版本中,ansible-freeipa 模块只能在 IdM 服务器上执行。这要求您的 Ansible 管理员具有对 IdM 服务器的 SSH 访问权限,从而导致潜在的安全威胁。有了这个更新,您可以在 IdM 客户端的系统上远程执行 ansible-freeipa 模块。因此,您可以以一个更加安全的方法管理 IdM 配置和实体。

要在 IdM 客户端上执行 ansible-freeipa 模块,请选择以下选项之一:

  • 对 IdM 客户端主机设置 playbook 的 hosts 变量。
  • ipa_context: client 行添加到使用 ansible-freeipa 模块的 playbook 任务中。

您还可将 ipa_context 变量设置为 IdM 服务器上的 client。但是,服务器上下文通常提供更好的性能。如果没有设置 ipa_contextansible-freeipa 会检查其是否在服务器或客户端上运行,并相应地设置上下文。请注意,在 IdM 客户端主机上执行将 context 设为 serveransible-freeipa 模块会导致 missing libraries 的错误。

(JIRA:RHELPLAN-103146)

ipadnsconfig 模块现在需要 action: member 来排除一个全局的转发者

在这个版本中,在 Identity Management (IdM) 中使用 ansible-freeipa ipadnsconfig 模块排除全局转发者需要在使用 state: absent 选项外还使用 action: member 选项。如果您只使用 playbook 中的 state: absent,而没有使用 action: member,则 playbook 将失败。因此,要删除所有全局转发器,您必须在 playbook 中单独指定它们。相反,state: present 选项不需要 action: member

(BZ#2046325)

AD 用户的自动私人组群支持集中配置

现在,您可以集中定义 IdM 客户端中 SSSD 的兼容版本如何从可信 Active Directory 域管理用户的专用组。在这个版本中,您可以为处理 AD 用户的 ID 范围明确设置 SSSD 的 auto_private_groups 选项的值。

如果没有显式设置 auto_private_groups 选项,它将使用默认值:

  • 对于 ipa-ad-trust-posix ID 范围,默认值为 false。SSSD 始终使用 AD 条目的 uidNumbergidNumber。AD 中必须存在具有 gidNumber 的组。
  • 对于 ipa-ad-trust ID 范围,默认值为 true。SSSD 从 SID 映射 uidNumbergidNumber 始终被设置为相同的值,并且始终映射私有组。

您还可以将 auto_private_groups 设置为第三个设置: hybrid。使用这个设置时,如果用户条目的 GID 等于 UID,则 SSSD 会映射私有组,但没有具有此 GID 的组。如果 UID 和 GID 有所不同,则该 GID 号的组必须存在。

此功能对于希望停止为用户私有组维护单独的组对象,但也希望保留现有用户专用组的管理员非常有用。

(BZ#1957736)

BIND 的可自定义日志记录设置

在这个版本中,您可以在 /etc/named/ipa-logging-ext.conf 配置文件中为身份管理服务器的 BIND DNS 服务器组件配置日志设置。

(BZ#1966101)

检索 IdM keytab 时自动发现 IdM 服务器

在这个版本中,在使用 ipa-getkeytab 命令检索 Kerberos keytab 时,不再需要指定 IdM 服务器主机名。如果没有指定服务器主机名,会使用 DNS 发现来查找 IdM 服务器。如果没有找到服务器,命令会返回 /etc/ipa/default.conf 配置文件中指定的 host 值。

(BZ#1988383)

RHEL 9 提供 Samba 4.15.5

RHEL 9 提供了 Samba 4.15.5,它比版本 4.14 提供程序错误修复和增强:

在启动 Samba 前备份数据库文件。当 smbdnmbdwinbind 服务启动时,Samba 会自动更新其 tdb 数据库文件。请注意,红帽不支持降级 tdb 数据库文件。

更新 Samba 后,使用 testparm 工具验证 /etc/samba/smb.conf 文件。

有关显著变化的更多信息,请在更新前阅读 上游发行注记

(BZ#2013578)

使用日志分析器工具跟踪客户端请求

系统安全服务守护进程(SSSD)现在包含一个日志解析工具,它跟踪来自开始的请求,以在多个 SSSD 组件的日志文件上结束。

日志分析器工具可让您更轻松地查看 SSSD 调试日志,以帮助您对 SSSD 中的任何问题进行故障排除。例如,您可以提取并打印与 SSSD 进程间的特定客户端请求相关的 SSSD 日志。要运行分析器工具,请使用 sssctl analyze 命令。

(JIRA:RHELPLAN-97899)

SSSD 现在默认记录后端

在这个版本中,SSSD 会将详细的调试日志保存在内存中缓冲区中,并在出现故障时将其附加到日志文件中。默认情况下,以下错误级别会触发回溯:

  • 0 级:严重失败
  • 1 级:关键失败
  • 2 级:严重失败

您可以通过在 sssd.conf 配置文件的对应部分设置 debug_level 选项来修改每个 SSSD 进程的行为:

  • 如果将调试级别设置为 0,则只有级别 0 事件触发回溯。
  • 如果将调试级别设置为 1,则级别 0 和 1 会触发回溯追踪。
  • 如果将调试级别设置为 2 或更高版本,则事件在级别 0 到 2 时触发回溯追踪。

您可以通过在 sssd.conf 的对应部分将 debug_backtrace_enabled 选项设置为 false 来禁用 SSSD 进程。

[sssd]
debug_backtrace_enabled = true
debug_level=0
...

[nss]
debug_backtrace_enabled = false
...

[domain/idm.example.com]
debug_backtrace_enabled = true
debug_level=2
...

...

(BZ#1949149)

SSSD 默认的 SSH 散列值现在与 OpenSSH 设置保持一致

ssh_hash_known_hosts 的默认值已更改为 false。它现在与 OpenSSH 设置保持一致,默认情况下不对主机名进行哈希处理。

但是,如果您需要继续哈希主机名,请将 ssh_hash_known_hosts = True 添加到 /etc/sssd/sssd.conf 配置文件的 [ssh] 部分。

(BZ#2014249)

目录服务器 12.0 基于上游版本 2.0.14

目录服务器 12.0 基于上游版本 2.0.14,它提供很多程序错误修复和增强。如需显著变化的完整列表,请在更新前阅读上游发行注记:

(BZ#2024693)

目录服务器现在在 tmpfs 文件系统上存储数据库的内存映射文件

在目录服务器中,nsslapd-db-home-directory 参数定义数据库内存映射文件的位置。此增强将参数的默认值从 /var/lib/dirsrv/slapd-instance_name/db/ 改为 /dev/shm/。因此,在 tmpfs 文件系统上存储内部数据库,目录服务器的性能就会提高。

(BZ#2088414)