Limpando o cache do SSSD no Linux

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 sssdvai 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

comments powered by Disqus