AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 444964
Accepted
DirkNiblick
DirkNiblick
Asked: 2018-05-21 06:23:40 +0800 CST2018-05-21 06:23:40 +0800 CST 2018-05-21 06:23:40 +0800 CST

如何在 CentOS 7 上清除用户缓存的 Active Directory 密码?

  • 772

我在公司笔记本电脑上安装了 CentOS 7,并将其配置为向公司 AD 服务器进行身份验证,如下所示:

  • 安装包:

    yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python
    
  • 将 AD 服务器添加到/etc/hosts.

  • 加入领域:

    realm join --user=tech adserver.example.com
    realm permit -g activedirectorygroup@domain
    
  • 更改use_fully_qualified_names为False和。fallback_homedir_ /home/%u_/etc/sssd/sssd.conf

  • 重启守护进程:

    systemctl restart sssd && systemctl daemon-reload
    
  • 设置 ITGROUP 以便能够使用 sudo:

    echo "%ITGROUP  ALL=(ALL)  ALL" > /etc/sudoers.d/ITGROUP
    

一切都运行良好。...直到我在 Windows 10 PC 上更改了密码。事实上,CentOS 盒子让我,只是用旧密码。我做了一堆谷歌搜索并尝试了一堆东西(例如,,sss_cache -E)kdestroy -A,但我似乎无法刷新缓存,所以我可以使用我的新密码。

那么,如何在 CentOS 7 上清除用户缓存的 Active Directory 密码?有没有办法让“普通”用户自己做到这一点(如果我们想把它推广到其他系统)?

更新:

我尝试了一些建议,但笔记本电脑不会忘记旧凭据。我最终将 PC 从领域中删除并重新添加。我确实将它添加到我的 sssd.conf 中:

[sssd]
...
account_cache_expiration = 2
cached_auth_timeout = 3600
refresh_expired_interval = 4050

[pam]
reconnection_retries = 3
offline_credentials_expiration = 2

登录似乎正在缓存 AD 的东西,但它Authenticated with cached credentials, your cached password will expire at:现在告诉我什么时候登录或 sudo。我希望下次我的密码到期并更改它时,该系统会识别它。仅供参考,我的整个配置是:

[sssd]
domains = adserver.example.com
config_file_version = 2
services = nss, pam

[domain/adserver.example.com]
ad_domain = adserver.example.com
krb5_realm = adserver.example.com
realmd_tags = manages-system joined-with-samba 
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = simple
simple_allow_groups = [email protected]
account_cache_expiration = 2
cached_auth_timeout = 3600
refresh_expired_interval = 4050

[pam]
reconnection_retries = 3
offline_credentials_expiration = 2

更新#2:

我已经使用这个配置有一段时间了。我已经增加了account_cache_expirationand offline_credentials_expirationfrom 2to 4,但它运行得很好,我们已经开始在我们的服务器上使用这个设置。

centos ldap
  • 1 1 个回答
  • 15009 Views

1 个回答

  • Voted
  1. Best Answer
    xx4h
    2018-05-21T10:22:24+08:002018-05-21T10:22:24+08:00

    那么,如何在 CentOS 7 上清除用户缓存的 Active Directory 密码?

    通常sss_cache应该是告诉 sssd 重新检索它可能已经缓存的对象的正确方法。但是如果无法从 AD 中检索到任何内容,afaik sssd 确实会再次使用缓存的对象。

    您应该始终能够通过设置来重置缓存的凭据

    [domain/your-domain.tld]
    ...
    cache_credentials = False
    

    在 /etc/sssd/sssd.conf 中,重新启动 sssd 服务并重新验证您的用户。这样,您应该能够确定 SSSD/AD 上的身份验证是否有效。要检查完整设置是否使用当前设置(不使用任何缓存),实际删除所有缓存总是一件好事。请参阅底部的信息,了解如何最有效地做到这一点。

    有没有办法让“普通”用户自己做到这一点(如果我们想把它推广到其他系统)?

    我不知道如何安全地实施。恕我直言,这不是你想要的。但无论如何,它不应该是必要的。SSSD 应始终根据某些条件重新评估其缓存的凭据。

    大多数情况下,设置以下内容以在几天后强制重新评估并实际注意环境是否出现问题是个好主意

    [pam]
    ...
    offline_credentials_expiration
    

    默认offline_credentials_expiration设置为0(无限制)


    大多数时候,当我想确定没有更多缓存在使用时,我会执行以下操作

    systemctl stop sssd
    rm /var/lib/sssd/db/*
    systemctl start sssd
    

    这可能导致 sssd 设置无法正常工作(但前提是其设置有问题,因为所有 sssd 保存的数据都可以简单地从 AD 中重新检索)。

    • 2

相关问题

  • smartmontools - 自动测试是否与运行简短测试相同?

  • systemctl 命令在 RHEL 6 中不起作用

  • 为什么我的交换机没有从指定的池中获取地址

  • 在 CentOS7 GNOME 的 Applications-menu 选项卡中创建自定义菜单

  • 奇怪的路由器与centos 6一起工作[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve