Eu esperava que alguns gurus do PAM / LDAP pudessem me ajudar aqui. Recentemente, configurei um diretório LDAP no Ubuntu Server para manter contas para meus clientes (para uso com sistemas baseados na Web) e para a equipe (que precisará fazer login via SSH).
A autenticação LDAP está funcionando perfeitamente. No entanto eu não pode obter as restrições de conta de trabalho: contas pessoal terá IDs entre 2001
e 2999
e será um membro do ssh-users
grupo que lhes permitam o login para os servidores.
As restrições em questão estão em /etc/ldap.conf
, e são pam_min_uid
, pam_max_uid
e pam_groupdn
.
pam_groupdn
contém o DN completo para o meu ssh-users
grupo. pam_min_uid
= 2000
e pam_max_uid
= 2999
.
Agora, eu consegui fazê-los funcionar adicionando:
account [success=1 default=ignore] pam_ldap.so
acima da pam_unix.so
linha /etc/pam.d/common-account
. No entanto, as contas locais do Unix NÃO podem fazer login: o servidor SSH mata a conexão assim que tenta.
Eu configurei o pam_ldap.so
módulo sufficient
no arquivo acima, mas os usuários inválidos receberão uma mensagem dizendo que não podem fazer login, mas eles os logam de qualquer maneira.
Então, como posso definir essas restrições de conta para usuários LDAP, enquanto continuo permitindo que usuários UNIX efetuem login?
Como você provavelmente pode adivinhar, sou novato no PAM, embora tenha conseguido que o módulo "faça diretórios pessoais automaticamente" funcione :-)
Muito obrigado, Andy