第 2 章 使用 authselect 配置用户身份验证
authselect
是一个实用程序,允许您通过选择特定的配置集来配置系统身份和身份验证源。配置集(profile)是一组文件,描述生成的可插拔验证模块 (PAM) 和网络安全服务 (NSS) 配置。您可以选择默认的配置集或创建自定义配置集。
2.1. authselect 的作用
您可以使用 authselect
在 Red Hat Enterprise Linux 8 主机上配置用户身份验证。
您可以通过选择一个可用的配置集来配置身份信息和验证源和供应商:
-
默认
sssd
配置集为使用 LDAP 身份验证的系统启用系统安全服务守护进程 (SSSD)。 -
winbind
配置集为直接与 Microsoft Active Directory 集成的系统启用 Winbind 实用程序。 -
nis
配置集确保了与传统网络信息服务 (NIS) 系统的兼容性。 -
minimal
配置集只用于直接来自系统文件中的本地用户和组,它允许管理员删除不再需要的网络身份验证服务。
在为给定主机选择了一个 authselect
配置集后,配置集将应用于登录到主机的每个用户。
红帽建议,在半集中式身份管理环境中使用 authselect
。例如,如果您的组织使用 LDAP、Winbind 或 NIS 数据库来验证用户以在您的域中使用服务。
如果出现以下情况,您不需要使用 authselect
:
-
您的主机是 Red Hat Enterprise Linux 身份管理(IdM)的一部分。使用
ipa-client-install
命令将您的主机加入 IdM 域会自动在主机上配置 SSSD 身份验证。 -
您的主机通过 SSSD 成为活动目录的一部分。调用
realm join
命令将您的主机加入 Active Directory 域会自动在您的主机上配置 SSSD 身份验证。
红帽建议不要更改由 ipa-client-install
或 realm join
配置的 authselect
配置文件。如果您需要修改它们,请在进行任何修改之前显示当前的设置,以便在需要时将它们恢复回来:
$ authselect current
Profile ID: sssd
Enabled features:
- with-sudo
- with-mkhomedir
- with-smartcard
2.1.1. authselect 修改的文件和目录
在以前的 Red Hat Enterprise Linux 版本中使用的 authconfig
实用程序会创建并修改许多不同的配置文件,从而使故障排除变得更加困难。authselect
简化了测试和故障排除过程,因为它仅修改以下文件和目录:
| GNU C 库和其他应用使用此名称服务交换机 (NSS) 配置文件来确定从中获取一系列类别中的名称服务信息的来源,以及顺序。每个类别的信息都由一个数据库名来标识。 |
| Linux-PAM(可插拔验证模块)是处理系统中应用程序(服务)验证任务的模块系统。验证的特性是动态可配置的:系统管理员可以选择如何单独提供服务提供应用程序验证用户。
这些文件还包含以下信息:
|
|
此目录包含 |
2.1.2. /etc/nsswitch.conf
中的数据提供程序
默认 sssd
配置集通过在 /etc/nsswitch.conf
中创建 sss
条目将 SSSD 设置为信息源:
passwd: sss files group: sss files netgroup: sss files automount: sss files services: sss files ...
这意味着,如果请求了有关这些项目之一的信息,系统首先会查找 SSSD:
-
passwd
用于用户信息 -
group
用户组群信息 -
netgroup
用于 NISnetgroup
信息 -
automount
用于 NFS 自动挂载信息 -
services
用于有关服务的信息
只有在 sssd
缓存和提供身份验证的服务器上找不到请求的信息,或者 sssd
没有运行时,系统才会查看本地文件,即 /etc/*
。
例如,如果请求有关用户 ID 的信息,则首先在 sssd
缓存中搜索用户 ID。如果未在此处找到,则会查阅 /etc/passwd
文件。类似地,如果请求用户的组从属关系,则首先在 sssd
缓存中搜索它,并且仅在未找到时搜索 /etc/group
文件。
实际上,本地文件
数据库通常不会被查阅。最重要的例外是 root
用户,它永远不会由 sssd
处理,而是由文件
处理。