16.04 server: a ativação da autenticação LDAP faz com que o systemd-logind falhe

7

Estou perplexo aqui, desculpe se estou perdendo algo óbvio. Eu tinha um servidor 16.04 autenticando contra o LDAP que parou de funcionar da última vez que executei atualizações, e construí um servidor 16.04 limpo do zero, executei atualizações padrão e ele funciona bem até que eu ative a autenticação LDAP. Eu posso desabilitar o LDAP e ele funciona novamente.

me@myserver:/etc# systemctl status systemd-logind.service
● systemd-logind.service - Login Service
   Loaded: loaded (/lib/systemd/system/systemd-logind.service; static; vendor preset: enabled)
   Active: activating (start) since Tue 2016-07-12 15:13:07 EDT; 19s ago
     Docs: man:systemd-logind.service(8)
           man:logind.conf(5)
           http://www.freedesktop.org/wiki/Software/systemd/logind
           http://www.freedesktop.org/wiki/Software/systemd/multiseat
 Main PID: 2106 (systemd-logind)
    Tasks: 1
   Memory: 228.0K
      CPU: 2ms
   CGroup: /system.slice/systemd-logind.service
           └─2106 /lib/systemd/systemd-logind

Jul 12 15:13:07 myserver systemd[1]: Starting Login Service...

Ele se agitará por um tempo, falhará e tentará recomeçar em loops sem fim. Eu posso fazer login em uma conta local, mas isso leva muito tempo.

me@myserver:/etc# systemd-analyze blame
Bootup is not yet finished. Please try again later.

Enquanto isso, o journalctl -xe retorna seu próprio loop mais detalhado:

me@myserver:/etc# journalctl -xe
-- Subject: Unit systemd-logind.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit systemd-logind.service has failed.
-- 
-- The result is failed.
Jul 12 15:16:27 myserver systemd[1]: systemd-logind.service: Unit entered failed state.
Jul 12 15:16:27 myserver systemd[1]: systemd-logind.service: Failed with result 'exit-code'.
Jul 12 15:16:27 myserver systemd[1]: systemd-logind.service: Service has no hold-off time, scheduling restart.
Jul 12 15:16:27 myserver systemd[1]: Stopped Login Service.
-- Subject: Unit systemd-logind.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit systemd-logind.service has finished shutting down.
Jul 12 15:16:27 myserver systemd[1]: Starting Login Service...
-- Subject: Unit systemd-logind.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit systemd-logind.service has begun starting up.
Jul 12 15:16:52 myserver systemd-logind[2134]: Failed to enable subscription: Connection timed out
Jul 12 15:16:52 myserver systemd-logind[2134]: Failed to fully start up daemon: Connection timed out
Jul 12 15:16:52 myserver dbus[1012]: [system] Failed to activate service 'org.freedesktop.systemd1': timed out
Jul 12 15:16:52 myserver systemd[1]: systemd-logind.service: Main process exited, code=exited, status=1/FAILURE
Jul 12 15:16:52 myserver systemd[1]: Failed to start Login Service.

Eu tenho duas dúzias de servidores 14.04 funcionando bem com LDAP, mesma configuração.

Eu tentei reiniciar manualmente o systemd-logind, mas ele falha.

Alguma ideia? TIA.

(ETA: acabou de construir exatamente o mesmo sistema em 14.04 e a autenticação LDAP funciona bem.)

Adicionando informações do dpkg.log: Há muito barulho nesse arquivo, então não tenho certeza do que é relevante e útil, mas aqui está o que parece ser as linhas de terminal de processamento para pacotes relacionados:

2016-07-11 13:52:08 status installed libldap-2.4-2:amd64 2.4.42+dfsg-2ubuntu3
2016-07-11 14:11:40 status installed libldap-2.4-2:amd64 2.4.42+dfsg-2ubuntu3.1
2016-07-11 15:02:45 status installed libnss-ldap:amd64 265-3ubuntu2
2016-07-11 15:02:45 status installed ldap-auth-client:all 0.5.3
2016-07-11 15:02:45 status installed ldap-auth-config:all 0.5.3
2016-07-11 15:02:45 status installed libpam-ldap:amd64 184-8.7ubuntu1
2016-07-11 15:04:12 status installed ldap-utils:amd64 2.4.42+dfsg-2ubuntu3.1

Meu servidor LDAP está em outro lugar; este servidor só precisa autenticar contra ele como um cliente. Os arquivos de configuração em /etc/ldap.conf e /etc/ldap/ldap.conf são idênticos e parecem não ter sido alterados entre 14.04 e 16.04

É importante notar que, embora a autenticação LDAP não esteja funcionando, posso fazer uma consulta ldapsearch com êxito no servidor LDAP.

    
por oxtoe 12.07.2016 / 21:25

2 respostas

3

Tive o mesmo problema com meus clientes de desktop 16.04.

Finalmente resolvido a substituição do pacote libnss-ldap por libnss-ldapd .

Parece o mesmo problema que neste relatório de bug: link

EDITAR : mais informações sobre esses pacotes no wiki do Debian :

  

Existem atualmente dois pacotes disponíveis para configurar as pesquisas do NSS   através do LDAP: o pacote libnss-ldap e o pacote libnss-ldapd.   Qual deles escolher depende das necessidades. Em geral, libnss-ldapd é   mais simples, mas mais recente e libnss-ldap é mais maduro, mas mais complexo.   Além disso, o libnss-ldap tem alguns problemas conhecidos ao fornecer informações do host   e pesquisas durante a inicialização, que devem ser endereçadas em libnss-ldapd . Dentro   Além disso, libnss-ldap quebra programas setuid (su, sudo) ao usar   LDAP + SSL

    
por barotto 10.08.2016 / 12:47
2

Uma maneira de evitar esse problema é garantir que o parâmetro nss_initgroups_ignoreusers - em /etc/ldap.conf (ou /etc/libnss-ldap.conf , dependendo do sistema) - seja preenchido com todos os usuários (locais) em /etc/passwd :

NSS_IGNOREUSERS="$(cut -d: -f1 /etc/passwd | sort | tr '\n' ',' | sed 's|,$||')"
sed -i "s|^nss_initgroups_ignoreusers.*|nss_initgroups_ignoreusers ${NSS_IGNOREUSERS}|" /etc/ldap.conf

Dessa forma, quando o sistema inicializa e os serviços de nome de usuários / grupos são consultados para iniciar os serviços locais, não é mais possível 'nss_ldap: Não é possível entrar em contato com o servidor LDAP' (já que o usuário / grupo local correspondente é ignorado por NSS LDAP).

(esse problema existe há anos, independentemente do systemd)

    
por Cédric Dufour 08.08.2017 / 19:08