CentOS 7에서 사용자의 캐시된 Active Directory 비밀번호를 지우는 방법은 무엇입니까?

CentOS 7에서 사용자의 캐시된 Active Directory 비밀번호를 지우는 방법은 무엇입니까?

회사 노트북에 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
    
  • sudo를 사용할 수 있도록 ITGROUP을 설정합니다.

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

모든 것이 잘 작동합니다. ...Windows 10 PC에서 비밀번호를 변경할 때까지 말이죠. 사실 CentOS 상자를 사용하면 가능하지만오래된비밀번호. 인터넷 검색을 많이 했고 많은 것(예: sss_cache -E) 을 시도했지만 kdestroy -A내 캐시를 사용할 수 있도록 캐시를 새로 고칠 수 없는 것 같습니다.새로운비밀번호.

그렇다면 CentOS 7에서 사용자의 캐시된 Active Directory 비밀번호를 지우는 방법은 무엇입니까? "일반" 사용자가 스스로 이 작업을 수행할 수 있는 방법이 있습니까(이 작업을 다른 시스템에 일반화하려는 경우)?

고쳐 쓰다:

몇 가지 제안 사항을 시도했지만 노트북은 이전 자격 증명을 잊지 않습니다. 결국 영역에서 컴퓨터를 제거하고 다시 추가했습니다. 나는 이것을 내 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_expiration과 를 offline_credentials_expiration에서 로 늘렸지만 제대로 작동하고 있으며 서버에서 이 설정을 사용하기 시작했습니다.24

답변1

그렇다면 CentOS 7에서 사용자의 캐시된 Active Directory 비밀번호를 지우는 방법은 무엇입니까?

이는 일반적으로 sss_cachesssd에 캐시했을 수 있는 개체를 검색하도록 지시하는 올바른 방법입니다. 그러나 AD에서 아무것도 검색할 수 없는 경우 sssd는 캐시된 개체를 다시 사용합니다.

항상 설정을 통해 캐시된 자격 증명을 재설정할 수 있어야 합니다.

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

/etc/sssd/sssd.conf에서 sssd 서비스를 다시 시작하고 사용자를 재인증합니다. 이를 통해 SSSD/AD에 대한 인증이 유효한지 확인할 수 있습니다. 전체 설정이 현재 설정에 대해 작동하는지(캐시를 사용하지 않고) 확인하는 것은 실제로 항상 좋은 것입니다.삭제모든 캐시. 이 작업을 가장 효과적으로 수행하는 방법을 알아보려면 하단의 정보를 참조하세요.

"일반" 사용자가 스스로 이 작업을 수행할 수 있는 방법이 있습니까(이 작업을 다른 시스템에 일반화하려는 경우)?

이것을 안전하게 구현하는 방법을 모르겠습니다. IMHO, 이것은 당신이 원하는 것이 아닙니다. 그러나 어쨌든 이것은 필요하지 않습니다. SSSD는 항상 특정 조건에 따라 캐시된 자격 증명을 재평가해야 합니다.

대부분의 경우 며칠 후에 강제로 재평가를 수행하고 실제로 환경에 문제가 있는지 확인하기 위해 다음을 설정하는 것이 좋습니다.

[pam]
...
offline_credentials_expiration

기본값 offline_credentials_expiration0(무제한)


대부분의 경우 더 이상 사용 중인 캐시가 없는지 확인하려면 다음을 수행합니다.

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

이로 인해 sssd 설정이 제대로 작동하지 않을 수 있습니다(단, sssd에 저장된 모든 데이터를 AD에서 다시 검색할 수 있으므로 설정에 문제가 있는 경우에만 해당).

관련 정보