16.04 server: l'abilitazione dell'autenticazione LDAP causa il fallimento di systemd-logind

7

Sono qui perplesso, scusa se mi manca qualcosa di ovvio. Avevo un server 16.04 che autentica contro LDAP che ha smesso di funzionare l'ultima volta che ho eseguito gli aggiornamenti, e ho creato un server pulito 16.04 da zero, ho eseguito aggiornamenti standard e funziona bene fino a quando non abilito l'autenticazione LDAP. Posso disabilitare LDAP e poi funziona di nuovo.

[email protected]:/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...

Si agiterà per un po ', fallirà, quindi prova a ricominciare in loop senza fine. Posso accedere a un account locale ma ci vuole molto tempo.

[email protected]:/etc# systemd-analyze blame
Bootup is not yet finished. Please try again later.

Nel frattempo journalctl -xe restituisce il proprio loop più dettagliato:

[email protected]:/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.

Ho due dozzine di server 14.04 che funzionano bene con LDAP, stessa configurazione.

Ho provato a riavviare manualmente systemd-logind ma non ci riesce.

Qualche idea? TIA.

(ETA: appena creato lo stesso identico sistema in 14.04 e l'autenticazione LDAP funziona bene.)

Aggiunta di informazioni su dpkg.log: C'è un sacco di rumore in questo file, quindi non sono sicuro di ciò che è rilevante e utile, ma ecco quali sembrano essere le linee terminali di elaborazione per i pacchetti correlati:

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

Il mio server LDAP è altrove; questo server deve solo autenticarsi come client. I file di configurazione in /etc/ldap.conf e /etc/ldap/ldap.conf sono identici e sembrano non essere cambiati tra 14.04 e 16.04

Vale la pena notare che sebbene l'autenticazione LDAP non funzioni, posso eseguire correttamente una query ldapsearch sul server LDAP.

    
posta oxtoe 12.07.2016 - 21:25

2 risposte

3

Ho avuto lo stesso problema con i miei client desktop 16.04.

Finalmente risolto la sostituzione del pacchetto libnss-ldap con libnss-ldapd .

Sembra lo stesso problema di questo rapporto bug: link

EDIT : maggiori informazioni su questi pacchetti dalla wiki di Debian :

  

Al momento sono disponibili due pacchetti per configurare le ricerche NSS   tramite LDAP: il pacchetto libnss-ldap e il pacchetto libnss-ldapd.   Quale scegliere dipende dalle esigenze. In generale, libnss-ldapd è   più semplice ma più recente e libnss-ldap è più maturo ma più complesso.   Anche libnss-ldap ha alcuni problemi noti con il servire informazioni sull'host   e ricerche durante l'avvio che dovrebbero essere indirizzate in libnss-ldapd . In   Inoltre, libnss-ldap interrompe i programmi setuid (su, sudo) durante l'uso   LDAP + SSL

    
risposta data barotto 10.08.2016 - 12:47
2

Un modo per prevenire questo problema è assicurarsi che il parametro nss_initgroups_ignoreusers - in /etc/ldap.conf (o /etc/libnss-ldap.conf , a seconda del sistema) - venga popolato con tutti gli utenti (locali) in /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

In questo modo, quando il sistema si avvia e vengono richiesti i servizi di nomi degli utenti / gruppi per avviare i servizi locali, non verrà emesso più 'nss_ldap: Impossibile contattare il server LDAP' (poiché l'utente / gruppo locale corrispondente viene ignorato da NSS LDAP).

(questo problema esiste da anni, indipendentemente da systemd)

    
risposta data Cédric Dufour 08.08.2017 - 19:08

Leggi altre domande sui tag