5.3. 启用离线验证


默认情况下,SSSD 不缓存用户凭证。在处理身份验证请求时,SSSD 始终联系身份提供程序。如果提供商不可用,用户身份验证会失败。

为确保在身份提供程序不可用时用户也可以被验证,在 /etc/sssd/sssd.conf 文件中将 cache_credentials 设置为 true 来启用凭证缓存。如果使用双因素身份验证,缓存的凭证指的是密码和第一个身份验证因素。请注意,对于 passkey 和智能卡身份验证,您不需要将 cache_credentials 设置为 true 或设置任何其它配置;只要缓存中记录了成功的在线身份验证,它们就可以离线工作。

重要

SSSD 永远不会以纯文本形式缓存密码。它仅存储密码的哈希。

虽然凭证存储为 salted SHA-512 哈希,但如果攻击者打算访问缓存文件并使用暴力攻击破解密码,这可能会构成安全风险。访问缓存文件需要特权访问权限,这是 RHEL 中的默认设置。

先决条件

  • root 访问权限

步骤

  1. 打开 /etc/sssd/sssd.conf 文件:
  2. 在 domain 部分中,添加 cache_credentials = true 设置:

    [domain/<domain_name>]
    cache_credentials = true
    Copy to Clipboard
  3. 可选,但推荐:在身份提供程序不可用时为 SSSD 允许离线身份验证的时间限制:

    1. 配置 PAM 服务以使用 SSSD。
    2. 使用 offline_credentials_expiration 选项来指定时间限制。

      请注意,限制以天数为单位。

      例如,要指定用户在上一次成功登录后 3 天可以离线验证,请使用:

      [pam]
      offline_credentials_expiration = 3
      Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat