16.04 Server: Wenn die LDAP-Authentifizierung aktiviert wird, schlägt systemd-logind fehl


7

Ich bin hier ratlos, tut mir leid, wenn mir etwas Offensichtliches fehlt. Ich hatte einen 16.04-Server, der sich gegen LDAP authentifizierte und beim letzten Ausführen von Updates nicht mehr funktionierte. Ich habe einen sauberen 16.04-Server von Grund auf neu erstellt, Standardupdates ausgeführt und funktioniert einwandfrei, bis ich die LDAP-Authentifizierung aktiviere. Ich kann LDAP deaktivieren und dann funktioniert es wieder.

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...

Es wird sich eine Weile drehen, scheitern und dann erneut in Endlosschleifen starten. Ich kann mich bei einem lokalen Konto anmelden, aber es dauert lange.

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

In der Zwischenzeit gibt journalctl -xe eine eigene ausführlichere Schleife zurück:

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.

Ich habe ungefähr zwei Dutzend 14.04-Server, die mit LDAP und derselben Konfiguration einwandfrei funktionieren.

Ich habe versucht, systemd-logind manuell neu zu starten, aber es schlägt fehl.

Irgendwelche Ideen? TIA.

(ETA: Ich habe gerade das gleiche System auf 14.04 erstellt und die LDAP-Authentifizierung funktioniert einwandfrei.)

Hinzufügen von dpkg.log-Informationen: Diese Datei enthält viel Rauschen. Sie sind sich also nicht sicher, was relevant und nützlich ist. Hier sind jedoch die Endverarbeitungszeilen für verwandte Pakete:

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

Mein LDAP-Server befindet sich an einer anderen Stelle. Dieser Server muss sich nur als Client authentifizieren. Die Konfigurationsdateien unter /etc/ldap.conf und /etc/ldap/ldap.conf sind identisch und scheinen sich zwischen 14.04 und 16.04 nicht geändert zu haben

Es ist erwähnenswert, dass die LDAP-Authentifizierung zwar nicht funktioniert, ich jedoch erfolgreich eine ldapsearch-Abfrage für den LDAP-Server durchführen kann.


1
Können Sie nachsehen, /var/log/dpkg.logob verwandte Pakete aktualisiert wurden? Wenn ja, können Sie diese Informationen zur Frage hinzufügen? Vielen Dank!
— Jorge Castro

Hier finden Sie eine vollständige geführte Konfiguration von LDAP in Ubuntu 16.04, einschließlich Details zur Konfigurationsdatei /etc/ldap.conf. Sie könnten hilfreich sein. ubuntuforums.org/showthread.php?t=2322679

dpkg.log info hinzugefügt. Server ist nur ein LDAP-Client, aber konfiguriert alle Übereinstimmungsanweisungen und scheint sich nicht von 14.04
— Ochsen

Könnten Sie versuchen, ein Downgrade durchzuführen libldap-2.4-2und ldap-utilsauf die Version zurückzukehren 2.4.42+dfsg-2ubuntu3?
— Robie Basak

Beim Herabstufen dieser beiden Pakete bleibt das Verhalten unverändert. :( Vielen Dank für den Vorschlag! Als (wahrscheinlich nicht nützliche) Referenz hat das funktionierende 14.04-System 2.4.31-1 + nmu2ubuntu8.3 für beide Pakete.
— Ochsen

Antworten:


4

Hatte das gleiche Problem mit meinen 16.04 Desktop Clients.

Schließlich wurde das Ersetzen des libnss-ldap-Pakets durch libnss-ldapd behoben .

Scheint das gleiche Problem wie in diesem Fehlerbericht zu sein: https://bugs.launchpad.net/ubuntu/+source/libnss-ldap/+bug/1024475

BEARBEITEN : Weitere Informationen zu diesen Paketen aus dem Debian-Wiki :

Derzeit sind zwei Pakete verfügbar, um NSS-Lookups über LDAP zu konfigurieren: das libnss-ldap-Paket und das libnss-ldapd-Paket. Welche Sie wählen müssen, hängt von den Bedürfnissen ab. Im Allgemeinen ist libnss-ldapd einfacher, aber neuer und libnss-ldap ist ausgereifter, aber komplexer. Außerdem hat libnss-ldap einige bekannte Probleme mit der Bereitstellung von Hostinformationen und Suchvorgängen während des Startvorgangs, die in libnss-ldapd behoben werden sollten . Darüber hinaus bricht libnss-ldap bei Verwendung von LDAP + SSL setuid-Programme (su, sudo) ab


Ah, Danke! Ich begann mich zu fragen, ob es nur ich war. Werde das versuchen! (-:
— Ochsen

3

Eine Möglichkeit, dieses Problem zu vermeiden, besteht darin, sicherzustellen, dass der nss_initgroups_ignoreusersParameter - in /etc/ldap.conf(oder /etc/libnss-ldap.conf, abhängig von Ihrem System) - mit allen (lokalen) Benutzern in gefüllt ist /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

Auf diese Weise wird beim Starten des Systems und beim Abfragen der Benutzer- / Gruppennamensdienste zum Starten der lokalen Dienste kein "nss_ldap: LDAP-Server kann nicht kontaktiert werden" ausgegeben (da die entsprechenden lokalen Benutzer / Gruppen von NSS LDAP ignoriert werden). .

(Dieses Problem gibt es seit Jahren, unabhängig von systemd)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.