Grupos LDAP nem sempre mapeando, servidor Ubuntu 12.04

2

Servidor Ubuntu 12.04, AMD64, autenticação via LDAP. Estou tendo problemas para fazer com que os grupos LDAP mapeiem para minha conta de usuário ao efetuar login, embora 'grupo getent' mostre o conjunto correto de grupos atribuídos a minha conta. Mais confusamente, às vezes funciona e outras vezes não.

Por exemplo, aqui está meu login atual:

$ ssh zoyd
$ id
uid=522(cswingley) gid=513(Domain Users) groups=513(Domain Users), \
4(adm),24(cdrom), 27(sudo),30(dip),46(plugdev),111(lpadmin), \
112(sambashare)

Mas:

$ getent group | grep cswingley | sort -t : -n -k3 | \
  awk 'BEGIN {FS=":"} {printf("%s(%s)\n", $3, $1);}' | \
  xargs | sed 's/) /),/g'
4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),111(lpadmin), \
112(sambashare),500(level2),502(gis),503(level3), \
504(management_accounting),544(Administrators),606(abruser),\
619(proposal),621(project_managers),700(unixadmin),\
701(ntadmin),1000(cswingley)

Isso acontece mais ou menos na metade do tempo em que faço login. Nas outras vezes, todos os meus grupos (local e LDAP) são mapeados com sucesso. getent group sempre mostra a lista correta.

Acredito que isso também esteja acontecendo com meus usuários do Samba, que muitas vezes impedem que eles cheguem a compartilhamentos ou diretórios restritos a determinados grupos Unix / Samba. Isso também impede que eu junte computadores ao meu domínio porque o LDAP não está me designando para o grupo com esse poder ( ntadmin ).

A única coisa que vejo no slapd logs (atualmente definido como loglevel 256 ) que parece suspeito é isso, mas não tenho certeza se está relacionado:

conn=8570 op=1 SRCH base="dc=abrinc,dc=com" scope=2 deref=0 \
  filter="(&(objectClass=posixAccount)(uid=cswingley))"
conn=8570 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
conn=8570 op=2 DISCONNECT tag=101 err=2 text=controls require LDAPv3
conn=8570 op=2 do_search: get_ctrls failed
conn=8570 fd=57 closed (operations error)

Aqui está uma lista dos pacotes com 'ldap' em seu nome, atualmente instalados no servidor:

$ sudo dpkg --list '*ldap*' | grep '^i' | \
  sed 's/^[^ ]* *\([^ ]* *[^ ]*\).*//'
ldap-auth-client                 0.5.3
ldap-auth-config                 0.5.3
ldap-utils                       2.4.28-1.1ubuntu4
libldap-2.4-2                    2.4.28-1.1ubuntu4
libnet-ldap-perl                 1:0.4300-2ubuntu1
libnss-ldap                      264-2.2ubuntu2
libpam-ldap                      184-8.5ubuntu2
smbldap-tools                    0.9.7-1ubuntu1
sudo-ldap                        1.8.3p1-1ubuntu3.3

Atualização: Eu também tentei instalar os pacotes libnss-ldapd e libpam-ldapd (para substituir as versões não-* d acima), mas isso também não resolve o problema.

Editar: é um bug aberto para esse problema no rastreador de bugs do Ubuntu: link

    
por cswingle 09.07.2012 / 21:45

0 respostas