6.3. 启用离线验证
默认情况下,SSSD 不缓存用户凭证。在处理身份验证请求时,SSSD 始终联系身份提供程序。如果提供商不可用,用户身份验证会失败。
为确保在身份提供程序不可用时用户也可以被验证,在 /etc/sssd/sssd.conf
文件中将 cache_credentials
设置为 true
来启用凭证缓存。如果使用双因素身份验证,缓存的凭证指的是密码和第一个身份验证因素。请注意,对于智能卡身份验证,您不需要将 cache_credentials
设置为 true 或设置任何其他配置;只要缓存中记录了成功在线身份验证,就可以离线工作。
SSSD 永远不会以纯文本形式缓存密码。它仅存储密码的哈希。
虽然凭证存储为 salted SHA-512 哈希,但如果攻击者打算访问缓存文件并使用暴力攻击破解密码,这可能会构成安全风险。访问缓存文件需要特权访问权限,这是 RHEL 中的默认设置。
先决条件
-
root
访问权限
流程
-
打开
/etc/sssd/sssd.conf
文件: 在 domain 部分中,添加
cache_credentials = true
设置:[domain/your-domain-name] cache_credentials = true
可选,但建议:在身份提供程序不可用时为 SSSD 允许离线验证的时间限制:
配置 PAM 服务以使用 SSSD。
如需了解更多详细信息,请参阅使用 authselect 配置用户身份验证。
使用
offline_credentials_expiration
选项来指定时间限制。请注意,限制以天数为单位。
例如,要指定用户在上一次成功登录后 3 天可以离线验证,请使用:
[pam] offline_credentials_expiration = 3
其它资源
-
您系统上的
sssd.conf (5)
手册页