在 nsswitch.conf 文件中,我有一个条目“passwd files sss”。我还有证据表明服务器正在进行 LDAP 身份验证。由于 passwd 的“文件”已启用并且它指向本地身份验证,因此哪一个优先?
答案1
文件 /etc/nsswitch.conf 定义用于在 NSS 映射中进行查找的 NSS 模块的顺序。严格来说,查找密码map 不用于身份验证,仅用于检查尝试登录的用户是否存在。
密码身份验证是通过 /etc/pam.d 中为使用 PAM 的每个服务配置的 PAM 堆栈完成的。
- 对于本地用户 PAM 模块
pam_unix.so
会在阴影映射以获取散列密码并根据此检查用户的密码。 - 对于远程 LDAP 用户阴影地图应该不是使用。例如固态硬盘发送 LDAP 简单绑定请求,让 LDAP 服务器远程检查用户的密码。它不查询密码哈希值。
因此,要找出所使用的 PAM authc 模块的顺序,您必须检查目录 /etc/pam.d 中的文件。如今大多数 Linux 系统都有用于每个服务的通用包含文件,例如大多数情况下是由工具创建的/etc/pam.d/common-auth
符号链接。common-auth-pc
pam-config
答案2
看man 5 nsswitch.conf
(加粗):
第一列是数据库名称。其余列指定:
- 一项或多项服务规范,例如“files”、“db”或“nis”。 线路上服务的顺序决定了依次查询这些服务的顺序,直到找到结果。
您的情况files
优先,这是应该的 - 通常您不希望 LDAP 条目root
覆盖本地条目。