Nos últimos dias, configurei um sistema Linux com autenticação LDAP e tudo funciona bem, mas ainda há algo que não consigo entender sobre o NSS e o PAM, também depois de muita pesquisa.
Citação:
O NSS permite que os administradores especifiquem uma lista de fontes onde os arquivos de autenticação, nomes de host e outras informações serão armazenados e pesquisados
e
PAM é um conjunto de bibliotecas que fornecem uma plataforma de autenticação configurável para aplicativos e o sistema operacional subjacente
O que não entendo é como o PAM e o NSS trabalham e interagem juntos. Em este livro a arquitetura é explicado muito bem: Eu configurar o PAM para utilização pam_ldap
para contas LDAP e pam_unix
para contas locais, então eu configurar nsswitch.conf
para buscar informações de arquivos locais e LDAP.
Se entendi corretamente, o LDAP é usado duas vezes: primeiro pam_ldap
e depois pelo NSS, que é chamado de pam_unix
. Isso esta certo? O LDAP é realmente usado duas vezes? Mas por que preciso configurar o NSS e o PAM? Minha explicação é que o PAM executa tarefas diferentes do NSS e é usado por outros programas. Mas, então, deve ser possível usar apenas NSS ou apenas PAM, como li nesta página .
Então, experimentei um pouco e tentei excluir o LDAP do nsswitch.conf
(e a autenticação parou para funcionar como se apenas o pam_ldap não fosse suficiente para fazer o trabalho). Em seguida, reativei o LDAP no NSS e o excluí da configuração do PAM (desta vez tudo funcionou bem, como se pam_ldap
fosse inútil e o NSS fosse suficiente para autenticar um usuário).
Existe alguém que possa me ajudar a esclarecer isso? Muito obrigado antecipadamente.
ATUALIZAR
Eu apenas tentei algo agora. I removido novamente todas as pam_ldap
entradas em todos os campos de configuração do PAM e eu também ter removido shadow: ldap
a partir nsswitch.conf
. Como agora em todo o sistema, existem apenas as linhas: passwd: ldap files
e group: ldap files
in nsswitch.conf
. Bem ... o login com usuários LDAP funciona perfeitamente, essas duas linhas (mais /etc/ldap.conf
) são suficientes para configurar a autenticação LDAP.
Pelo meu conhecimento, o PAM é independente do NSS, mas meus testes mostraram que não. Então, pergunto-me: é possível desativar completamente o NSS e usar apenas o PAM?
getent shadow | grep LDAPUSER
grep LDAPUSER /etc/shadow