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-freeipa
和 ansible-core
都位于 rhel-9-for-x86_64-appstream-rpms
存储库中。
RHEL 8.6 和 RHEL 9 中的 Ansible -freeipa
包含了它在 RHEL 8 中包含的所有模块。
(JIRA:RHELPLAN-100359)
IdM 现在支持 automountlocation
、automountmap
和 automountkey
Ansible 模块
在这个版本中,ansible-freeipa
软件包包含 ipaautomountlocation
、ipaautomountmap
和 ipaautomountkey
模块。您可以使用这些模块为登录到 IdM 位置的 IdM 客户端自动挂载目录。请注意,目前只支持直接映射。
(JIRA:RHELPLAN-79161)
shadow-utils 中提供了管理 subID 范围的支持
在以前的版本中,shadow-utils
配置来自 /etc/subuid
和 /etc/subgid
文件的 subID 范围。在这个版本中,/etc/nsswitch.conf
文件中提供了 subID 范围配置,方法是在 subid
字段中设置值。如需更多信息,请参阅 man subuid
和 man subgid
。另外,通过此次更新,shadow-utils
插件的 SSSD 实施可用,它提供来自 IPA 服务器的 subID 范围。要使用此功能,请将 subid: sss
值添加到 /etc/nsswitch.conf
文件。此解决方案在容器化环境中可能很有用,以促进无根容器。
请注意,如果 /etc/nsswitch.conf
文件由 authselect
工具配置,您必须遵循 authselect
文档中介绍的步骤。否则,您可以手动修改 /etc/nsswitch.conf
文件。
IdM 中提供管理 subID 范围的支持
借助此次更新,您可以管理身份管理中用户的 ID 子范围。您可以使用 ipa
CLI 工具或 IdM WebUI 界面向用户分配自动配置的 subID 范围,这可能在容器化环境中很有用。
身份管理安装软件包已进行演示
在以前的版本中,在 RHEL 8 中,IdM 软件包作为模块发布,需要启用流并安装与所需安装对应的配置集。IdM 安装软件包在 RHEL 9 中进行了演示,因此您可以使用以下 dnf
命令安装 IdM 服务器软件包:
对于没有集成 DNS 服务的服务器:
# dnf install ipa-server
对于具有集成 DNS 服务的服务器:
# dnf install ipa-server ipa-server-dns
传统的 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_context
,ansible-freeipa
会检查其是否在服务器或客户端上运行,并相应地设置上下文。请注意,在 IdM 客户端主机上执行将 context
设为 server
的 ansible-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
。
AD 用户的自动私人组群支持集中配置
现在,您可以集中定义 IdM 客户端中 SSSD 的兼容版本如何从可信 Active Directory 域管理用户的专用组。在这个版本中,您可以为处理 AD 用户的 ID 范围明确设置 SSSD 的 auto_private_groups
选项的值。
如果没有显式设置 auto_private_groups
选项,它将使用默认值:
-
对于
ipa-ad-trust-posix
ID 范围,默认值为false
。SSSD 始终使用 AD 条目的uidNumber
和gidNumber
。AD 中必须存在具有gidNumber
的组。 -
对于
ipa-ad-trust
ID 范围,默认值为true
。SSSD 从 SID 映射uidNumber
,gidNumber
始终被设置为相同的值,并且始终映射私有组。
您还可以将 auto_private_groups
设置为第三个设置: hybrid
。使用这个设置时,如果用户条目的 GID 等于 UID,则 SSSD 会映射私有组,但没有具有此 GID 的组。如果 UID 和 GID 有所不同,则该 GID 号的组必须存在。
此功能对于希望停止为用户私有组维护单独的组对象,但也希望保留现有用户专用组的管理员非常有用。
(BZ#1957736)
BIND 的可自定义日志记录设置
在这个版本中,您可以在 /etc/named/ipa-logging-ext.conf
配置文件中为身份管理服务器的 BIND DNS 服务器组件配置日志设置。
检索 IdM keytab 时自动发现 IdM 服务器
在这个版本中,在使用 ipa-getkeytab
命令检索 Kerberos keytab 时,不再需要指定 IdM 服务器主机名。如果没有指定服务器主机名,会使用 DNS 发现来查找 IdM 服务器。如果没有找到服务器,命令会返回 /etc/ipa/default.conf
配置文件中指定的 host
值。
RHEL 9 提供 Samba 4.15.5
RHEL 9 提供了 Samba 4.15.5,它比版本 4.14 提供程序错误修复和增强:
- Samba 工具中的选项已被重命名和删除,以获得一致的用户体验
- 现在默认启用服务器多通道支持。
-
仅被 Windows 技术预览使用的
SMB2_22
、SMB2_24
和SMB3_10
dialects 已被删除。
在启动 Samba 前备份数据库文件。当 smbd
、nmbd
或 winbind
服务启动时,Samba 会自动更新其 tdb
数据库文件。请注意,红帽不支持降级 tdb
数据库文件。
更新 Samba 后,使用 testparm
工具验证 /etc/samba/smb.conf
文件。
有关显著变化的更多信息,请在更新前阅读 上游发行注记。
使用日志分析器工具跟踪客户端请求
系统安全服务守护进程(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 ... ...
SSSD 默认的 SSH 散列值现在与 OpenSSH 设置保持一致
ssh_hash_known_hosts
的默认值已更改为 false。它现在与 OpenSSH 设置保持一致,默认情况下不对主机名进行哈希处理。
但是,如果您需要继续哈希主机名,请将 ssh_hash_known_hosts = True
添加到 /etc/sssd/sssd.conf
配置文件的 [ssh]
部分。
目录服务器 12.0 基于上游版本 2.0.14
目录服务器 12.0 基于上游版本 2.0.14,它提供很多程序错误修复和增强。如需显著变化的完整列表,请在更新前阅读上游发行注记:
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-14.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-13.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-12.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-11.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-10.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-9.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-8.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-7.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-6.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-5.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-4.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-3.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-2.html
- https://directory.fedoraproject.org/docs/389ds/releases/release-2-0-1.html
目录服务器现在在 tmpfs
文件系统上存储数据库的内存映射文件
在目录服务器中,nsslapd-db-home-directory
参数定义数据库内存映射文件的位置。此增强将参数的默认值从 /var/lib/dirsrv/slapd-instance_name/db/
改为 /dev/shm/
。因此,在 tmpfs
文件系统上存储内部数据库,目录服务器的性能就会提高。
FreeRADIUS 支持现已重新设计
在 RHEL 9 中,现有的 FreeRADIUS 产品现已简化,并与身份管理(IdM)的战略方向更加紧密地保持一致。为了为 IdM 用户提供最佳支持,红帽正在通过 FreeRADIUS 加强对这些外部身份验证模块的支持:
-
基于
krb5
和 LDAP 的身份验证 -
Python 3
身份验证
以下模块不再被支持:
- MySQL、PostgreSQL、SQlite 和 unixODBC 数据库连接器
-
Perl
语言模块 - REST API 模块
作为基本软件包的一部分提供的 PAM 身份验证和其他身份验证模块不受影响。
您可以在社区支持的软件包中找到已删除模块的替代品,例如在 Fedora 项目中。
另外,现在对 freeradius
软件包的支持范围仅限于以下用例:
-
使用 FreeRADIUS 作为身份验证提供者,IdM 作为身份验证的后端源。身份验证通过
krb5
和 LDAP 身份验证软件包或在主 FreeRADIUS 软件包中作为 PAM 身份验证进行。 -
使用 FreeRADIUS ,通过
Python 3
身份验证软件包为 IdM 中的身份验证提供真实源。
(JIRA:RHELDOCS-17553)