So, how do I clear a user's cached Active Directory password on CentOS 7?
Geralmente sss_cache
deve ser o caminho certo para dizer ao sssd para recuperar novamente os objetos que ele já tenha armazenado em cache. Mas afaik sssd realmente usa os objetos em cache novamente se nada puder ser recuperado do AD.
Você sempre deve ser capaz de redefinir credenciais armazenadas em cache, definindo
[domain/your-domain.tld]
...
cache_credentials = False
no /etc/sssd/sssd.conf, reiniciando o serviço sssd e autenticando-se novamente com seu usuário. Desta forma você deve ser capaz de determinar se a autenticação sobre o SSSD / AD funciona. Para verificar se a configuração completa está funcionando com as configurações atuais (sem usar caches), é sempre bom excluir todos os caches. Veja as informações na parte inferior de como fazer isso de maneira mais eficaz.
Is there a way for a "regular" user to do that themselves (in case we wanted to roll this out to other systems)?
Não sei como isso pode ser implementado com segurança. Isso não é nada do que você quer. Mas isso não deveria ser necessário de qualquer maneira. O SSSD deve sempre reavaliar suas credenciais em cache com base em algumas condições.
Na maioria das vezes, é uma boa idéia definir o seguinte para forçar a reavaliação após alguns dias e realmente notar se algo com o ambiente está errado
[pam]
...
offline_credentials_expiration
como padrão offline_credentials_expiration
está definido como 0
(sem limite)
Na maior parte do tempo, quando quero ter certeza, não há mais caches em uso, eu faço o seguinte
systemctl stop sssd
rm /var/lib/sssd/db/*
systemctl start sssd
Isso pode levar a uma configuração sssd não funcional (mas somente se algo estiver errado com sua configuração, já que todos os dados sssd são simplesmente recuperáveis a partir do AD).