Eu configurei a autenticação do cliente linux via ldap, ele funciona.
Quero controlar o acesso do usuário a vários serviços, adicionando ou removendo UOs diferentes para contas. Por exemplo, se o usuário tiver permissão para efetuar login em máquinas linux, ele deve conter "linux". Se esse usuário tiver permissão para acessar, digamos, o redmine, ele deve conter "redmine" também.
O problema é que o parâmetro pam_filter no /etc/ldap.conf é ignorado. Quando eu definir isso
pam_filter ou=linux
a string de pesquisa que chega ao servidor ldap não contém este filtro:
openldap slapd[5374]: conn=1857 op=1 SRCH base="ou=people,dc=rwth-cbmb,dc=de" scope=2 deref=0 filter="(objectClass=posixAccount)"
Como eu disse, eu tenho usado com o redmine (sistema de rastreamento de tickets) onde eu configurei o filtro ldap também e ele funciona. Recebo os seguintes pedidos de pesquisa no servidor:
openldap slapd[5374]: conn=1863 op=1 SRCH base="ou=people,dc=rwth-cbmb,dc=de" scope=2 deref=0 filter="(&(objectClass=*)(uid=alex)(ou=redmine))"
Eu tenho as seguintes versões de pacotes:
ldap-auth-client 0.5.3
ldap-auth-config 0.5.3
ldap-utils 2.4.28-1.1ubuntu4.2
libldap-2.4-2 2.4.28-1.1ubuntu4.2
libnss-ldap 264-2.2ubuntu2
libpam-ldap 184-8.5ubuntu2
Cliente ubuntu 12.04, servidor ubuntu server 10.04.