Este é um bug conhecido que foi introduzido quando o Debian (e, portanto, o Ubuntu ) mudou de usar OpenSSL para GnuTLS com OpenLDAP devido às dificuldades de licenciamento com o OpenSSL . O problema está no modo libgcrypt
(o atual back-end de criptografia para GnuTLS ) é inicializado. O problema existe desde o Ubuntu 9.10 e não foi realmente endereçado porque o GnuTLS libgcrypt
(que evidentemente tem outros problemas também) para libnettle . Até que essa alteração o torne downstream, há três possíveis contornos, todos enumerados no relatório de bug acima.
-
Compile
libgnutls26
da origem para uselibnettle
em vez delibgcrypt
-
Compile
libldap
da origem para useopenssl
em vez degnutls26
-
Use
libnss-ldapd
em vez delibnss-ldap
. Isso tem várias variações. Primeiro uselibpam-ldap
, que extrailibnns-ldap
como uma dependência, o que torna a configuração complicada. Em segundo lugar, uselibpam-ldapd
, que não está completo. Ele carece especialmente de todas as configurações de pam _ * que permitem limitar os subconjuntos de usuários. A fim superar esta deficiência você poderia usar o overlay do nssov com o slapd, mas este não é incluído no slapd com Ubuntu (assim que você precisaria de compilar da fonte).libpam-ldapd
usa o daemonnslcd
para lidar com as pesquisas do ldap; Portanto, ele usa/etc/nslcd.conf
em vez de/etc/ldap
para configuração. Em particular, você pode usar opam_authz_search
para restringir a autorização. Vejaman nslcd.conf
para detalhes. Há também um bom howto aqui , e aqui se você precisar configurar o startTLS.
ATUALIZAÇÃO: Em 29/5/2012, uma correção de bug estava disponível no repositório proposto para Lucid , Natty e > Onírico . Isso corrigiu os problemas com logins LDAP; no entanto, a partir de 9/6/2012, este novo patch mostrou quebrar outros pacotes 1 e foi removido. Além disso, como documentado em este bug , a solução alternativa usando nscd, não funciona mais em todos. Esta é uma regressão infeliz e, pior, o problema não está realmente corrigido em Preciso e Quantal . Por fim, a única correção real é eliminar libgcrypt11
em favor de libnettle4
. O mais recente libgnutls28
em Preciso e Quantal já faz isso, mas libldap
ainda usa libgnutls26
.
As instruções para compilar libgnutls26
de source são explicadas nos comentários 22 , 23 e 24 em este relatório de erros . Mas as instruções parecem funcionar apenas para Preciso .