O SSSD, que é o System Security Services Daemon é um serviço que provém acesso a autenticação e identificação de usuários no sistema, em vários tipos de serviços diferentes, com LDAP, FreeIPA e Active Directory, como exemplos principais. E, o que é legal nele é que ele funciona praticamente com um proxy que acessa a configuração e vai até o serviço específico e logo depois, mantém um cache local.
Isto acontece para garantir que a máquina possa ficar acessível mesmo com o servidor de autenticação fora.
O problema é, que, como todo cache ele pode apresentar problemas. E efetuar um flush
nele pode ser uma boa opção.
E como tudo no mundo Linux e Unix, sempre há mais de uma opção para fazê-lo.
A ferramenta sss_cache
Um dos modos mais fáceis de limpar o cache é usando a ferramenta sss_cache
que é usado para em resumo, invalidar o cache. Com isto o cliente do sssd
vai ser formado a puxar todas as informações novamente do servidor principal, no caso o Active Directory ou até o FreeIPA.
A flag -E
é usada para invalidar todos os cache, com exceção das regras do sudo.
sss_cache -E
Caso o problema seja com um usuário específico você pode usar a flag -u
que irá invalidar somente o cache daquele usuário.
sss_cache -u user1
Este é o modo desespero. Sempre é indicado usar o comando sss_cache
, mas, quando isto não resolve talvez seja interessante limpar completamente o diretório do cache.
E, os arquivos do sssd estão no /var/lib/sss/db/
e para iniciar a remoção destes arquivos é necessário que o servidor SSSD esteja parado.
systemctl stop sssd
E depois efetue a remoção dos arquivos :
rm -rf /var/lib/sss/db/*
Após a remoção, é só inicializar o serviço novamente.
systemctl restart sssd
Após isto o SSSD vai inicilizar com o cache vazio e a partir daí ele será forçado a ir no seu serviço de autenticação antes de validar o usuário. Portanto, é recomendado limpar o cache somente quando você tiver certeza que este serviço está disponível, senão, nenhum usuário irá logar novamente na máquina.
No Linux o processo é fácil pois é só manter o usuário root
com capacidade de login na máquina.
Via Root Users