登录屏幕源代码

登录屏幕源代码

我想看看登录屏幕实际上是如何验证密码是否正确的。它是否直接访问 passwd 文件,还是参考某些系统函数的判断?

答案1

身份验证是使用可插入身份验证模块 (PAM) 实现的。

Linux-PAM 是一个库系统,用于处理系统上应用程序(服务)的身份验证任务。该库提供了一个稳定的通用接口(应用程序编程接口 - API),特权授予程序(例如 login(1) 和 su(1))可以遵从该接口来执行标准身份验证任务。

登录服务的配置位于/etc/pam.d/login。它的注释很好,信息量很大。

当需要时,PAM 的模块会访问密码文件。在采用集中式身份验证的系统中(例如 LDAP),登录服务可能永远不需要访问密码文件。

更多信息请参阅man 7 pam

相关内容