Löschen eines Users ergibt Fehlermeldung

german

#1

Das Löschen eines Users im UDM hat folgende Fehlermeldung ergeben:

In den folgenden Log files gibt es (gar) keine Einträge:

/var/log/univention/directory-manager-cmd.log /var/log/univention/management-console-module.log /var/log/univention/admin-cmd.log

Mit freundlichen Grüßen,

Mario Minati


#2

Hallo,

um die Fehlerursache noch weiter einzugrenzen wäre es sehr hilfreich wenn Sie die folgenden Punkte bzw. die Fragen beantworten::

  • Um welche UCS Version handelt es sich?
  • Werden Benutzerdefinierte Attribute verwendet?
  • Was wird beim Ausführen des Kommandozeilenbefehls univention-license-check ausgegeben?

Um erweiterte Log-Meldungen des LDAP-Servers zu erhalten, können Sie den Debug-Level erhöhen. Dazu können Sie z.B. wie folgt vorgehen (Nähere Informationen bzgl. der Debug-Level können Sie der man-Page man slapd.conf entnehmen):
Anpassen der entsprechenden Univention Configuration Registry-Variable:

univention-config-registry set ldap/debug/level=256

Neustarten des LDAP-Servers:

/etc/init.d/slapd restart

Anschließend können Sie versuchen den entsprechenden Benutzer erneut zu löschen und in der Log-Datei /var/log/syslog nach Hinweisen suchen. Um auf Dauer keine übermäßigen Log-Meldungen des LDAP-Servers zu erzeugen, sollte nach der Fehlersuche der Debug-Level wieder auf seinen Ursprungswert gesetzt und anschließend der LDAP-Server neu gestartet werden.

Mit freundlichen Grüßen
Murat Odabas


#3

Version: UCS Version 2.1-0-0
Benutzerdefinierte Attribute: nein

# univention-license-check Checking searchpath... OK Checking basedn ... OK Checking enddate ... OK Checking signature ... OK Clients: 10 of unlimited... OK Accounts: 7 of 10... OK Desktops: 1 of 2... OK Groupware Accounts: 6 of 10... OK

Bei der Problembeschreibung hatte ich vergessen zu erwähnen, das der User trotzdem gelöscht wurde - ich habe allerdings kein Tool um direkt den LDAP Baum zu untersuchen, ob irgendwelche Rückstände dort drin zurückgeblieben sind.

Im syslog sind zum Zeitpunkt des Fehlers keine LDAP-Meldungen vorhanden (natürlich ohne den höheren Loglevel).

Mit freundlichen Grüßen,

Mario Minati


#4

Hallo,

kann dieses Verhalten reproduziert werden? D.h. wenn Sie einen weiteren Benutzer (z.B. einen Testbenutzer) im Univention Directory Manager löschen, wird dann die gleiche Fehlermeldung erzeugt?

Über den Bereich “Navigation -> users” im Univention Directory Manager können Sie prüfen ob ein Benutzer aus dem LDAP gelöscht wurde. Alternativ können Sie dies auch mit dem folgenden LDAP Kommandozeilenbefehl realisieren:

ldapsearch -x uid=<Benutzername>

Mit freundlichen Grüßen
Murat Odabas


#5

Bei Erstellen eines Testbenutzers wird folgende Meldung reproduzierbar ausgegeben:

Beim Übernehmen der Änderungen ist ein Fehler aufgetreten: LDAP-Fehler Type or value exists
Der Benutzer existiert aber trotzdem.

Beim Löschen die Folgende:

Das Löschen von 1/1 ausgewählten Objekten ist fehlgeschlagen: test3: Type or value exists LDAP-Fehler

Ein Durchgang von Anlegen und Löschen eines Testbenutzers habe ich mit Loglevel 256 beobachtet und als slapd.zip angehängt.
slapd.zip (11.3 KB)


#6

Hallo,

aus der von Ihnen angehängten Log-Datei sind keine auf den Fehler hinweisende Meldungen zu finden. Sie sollten den Debug-Level noch weiter z.B. auf 638 erhöhen und das Erstellen bzw. Löschen eines Benutzers erneut durchführen. Außerdem sollten Sie prüfen welche Attribute gesetzt sind. Dazu können Sie das folgende Kommando verwenden:

ldapsearch -x uid=<Testbenutzer>

Mit freundlichen Grüßen
Murat Odbas


#7

Hier also die gewünschten Daten:

ldapsearch vorher:

[code]root@gerlinde:~# ldapsearch -x uid=test4

extended LDIF

LDAPv3

base <> with scope subtree

filter: uid=test4

requesting: ALL

search result

search: 2
result: 0 Success

numResponses: 1[/code]

ldapsearch nach Anlegen des Users:

[code]root@gerlinde:~# ldapsearch -x uid=test4

extended LDIF

LDAPv3

base <> with scope subtree

filter: uid=test4

requesting: ALL

test4, users, minati.de

dn: uid=test4,cn=users,dc=minati,dc=de
cn: test4
krb5PrincipalName: test4@DT.MINATI.LOCAL
objectClass: top
objectClass: person
objectClass: univentionPWHistory
objectClass: posixAccount
objectClass: shadowAccount
objectClass: univentionMail
objectClass: sambaSamAccount
objectClass: krb5Principal
objectClass: krb5KDCEntry
uidNumber: 2037
sambaAcctFlags: [U ]
krb5MaxLife: 86400
uid: test4
mailGlobalSpamFolder: 0
sambaHomePath: \gerlinde\test4
sambaMungedDial: bQAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABkA
AEAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAAAIAAgACAA
IAAgACAAIAAgACAAUAARoACAABAEMAdAB4AEMAZgBnAFAAcgBlAHMAZQBuAHQANTUxZTBiYjAYAAg
AAQBDAHQAeABDAGYAZwBGAGwAYQBnAHMAMQAwMDAwMDAwMBYACAABAEMAdAB4AEMAYQBsAGwAYgBh
AGMAawAwMDAwMDAwMBIACAABAEMAdAB4AFMAaABhAGQAbwB3ADAwMDAwMDAwKAAIAAEAQwB0AHgAT
QBhAHgAQwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwLgAIAAEAQwB0AHgATQBhAH
gARABpAHMAYwBvAG4AbgBlAGMAdABpAG8AbgBUAGkAbQBlADAwMDAwMDAwHAAIAAEAQwB0AHgATQB
hAHgASQBkAGwAZQBUAGkAbQBlADAwMDAwMDAwIgAIAAEAQwB0AHgASwBlAHkAYgBvAGEAcgBkAEwA
YQB5AG8AdQB0ADAwMDAwMDAwKgACAAEAQwB0AHgATQBpAG4ARQBuAGMAcgB5AHAAdABpAG8AbgBMA
GUAdgBlAGwAMDAgAAIAAQBDAHQAeABXAG8AcgBrAEQAaQByAGUAYwB0AG8AcgB5ADAwIAACAAEAQw
B0AHgATgBXAEwAbwBnAG8AbgBTAGUAcgB2AGUAcgAwMBgAAgABAEMAdAB4AFcARgBIAG8AbQBlAEQ
AaQByADAwIgACAAEAQwB0AHgAVwBGAEgAbwBtAGUARABpAHIARAByAGkAdgBlADAwIAACAAEAQwB0
AHgAVwBGAFAAcgBvAGYAaQBsAGUAUABhAHQAaAAwMCIAAgABAEMAdAB4AEkAbgBpAHQAaQBhAGwAU
AByAG8AZwByAGEAbQAwMCIAAgABAEMAdAB4AEMAYQBsAGwAYgBhAGMAawBOAHUAbQBiAGUAcgAwMA

krb5MaxRenew: 604800
description: test4
loginShell: /bin/bash
gidNumber: 5014
sambaSID: S-1-5-21-36614720-2898026673-3074725763-5074
gecos: test4
sn: test4
homeDirectory: /home/test4

search result

search: 2
result: 0 Success

numResponses: 2

numEntries: 1[/code]

ldapsearch nach Löschen des Users:

[code]root@gerlinde:~# ldapsearch -x uid=test4

extended LDIF

LDAPv3

base <> with scope subtree

filter: uid=test4

requesting: ALL

search result

search: 2
result: 0 Success

numResponses: 1

[/code]

Das syslog habe ich als Anlage beigefügt.

Mit freundlichen Grüßen,

Mario Minati
syslog.zip (104 KB)


#8

Hallo,

evtl. handelt es sich hier um eine Inkonsistenz an einer Ihrer Gruppen. Mit dem folgenden Befehl können Sie prüfen ob dies der Fall ist und die Probleme, wenn nötig, beheben lassen indem Sie den Schalter “-t” nicht mit angeben.

/usr/share/univention-directory-manager-tools/univention-sync-memberuid -t

Mit freundlichen Grüßen
Janis Meybohm


#9

Wir nähern uns dem Problem.

Der Aufruf mit -t liefern einige Gruppen die nicht in Ordnung sind:

Test Mode: The following groups have to be modified: Group: cn=Domain Users,cn=groups,dc=minati,dc=de Group: cn=Windows Hosts,cn=groups,dc=minati,dc=de Group: cn=DC Backup Hosts,cn=groups,dc=minati,dc=de Group: cn=Computers,cn=groups,dc=minati,dc=de Group: cn=Printer-Admins,cn=groups,dc=minati,dc=de Group: cn=planung,cn=groups,dc=minati,dc=de Group: cn=development,cn=groups,dc=minati,dc=de

Der Aufruf ohne -t, aber mit -d 1000 liefert weitere Probleme zu Tage (aus dem log):

14.11.08 10:36:42 DEBUG_INIT 14.11.08 10:36:42 ADMIN ( PROCESS ) : Group: cn=Domain Users,cn=groups,dc=minati,dc=de 14.11.08 10:36:42 ADMIN ( INFO ) : members: ['uid=annette,cn=users,dc=minati,dc=de', 'uid=mario,cn=users,dc=minati,dc=de', 'uid=email,cn=users,dc=minati,dc=de', 'uid=hubert,cn=users,dc=minati,dc=de', 'uid=xenia,cn=users,dc=minati,dc=de', 'uid=Administrator,cn=users,dc=minati,dc=de', 'uid=sandra,cn=users,dc=minati,dc=de', 'cn=sharp,cn=computers,dc=minati,dc=de', 'uid=sharp,cn=users,dc=minati,dc=de', 'uid=christian,cn=users,dc=minati,dc=de', 'uid=test,cn=users,dc=minati,dc=de', 'uid=test3,cn=users,dc=minati,dc=de', 'uid=test4,cn=users,dc=minati,dc=de', 'uid=ml,cn=users,dc=minati,dc=de'] 14.11.08 10:36:42 ADMIN ( INFO ) : old memberUid: ['annette', 'mario', 'email', 'hubert', 'xenia', 'christian', 'Administrator', 'sandra'] 14.11.08 10:36:42 ADMIN ( INFO ) : new memberUid: ['annette', 'mario', 'email', 'hubert', 'xenia', 'Administrator', 'sandra', 'sharp', 'sharp', 'christian', 'test', 'test3', 'test4', 'ml'] 14.11.08 10:36:42 ADMIN ( ERROR ) : adding memberUid entries failed: {'info': 'memberUid: value #0 provided more than once', 'desc': 'Type or value exists'}

Die User ‘email’,‘test*’ sollten eigentlich nicht mehr existieren.
Warum der Rechner ‘sharp’, neben dem Benutzer ‘sharp’ auftaucht ist mir auch nicht ganz klar.

Mit freundlichen Grüßen,

Mario Minati


#10

Hallo,

Momentan scheint es so zu sein, dass bei einigen Ihrer Gruppen die Attribute uniqueMember und memberUid nicht mehr die gleichen Mitglieder einer Gruppe definieren. Ausschlaggebend unter UCS ist immer das Attribut uniqueMember (memberUid wurde erst später hinzugefügt). Aus diesem Grund muss sichergestellt werden, dass in diesem Attribut genau die richtigen Mitglieder der Gruppe eingetragen sind.

Die Inkonsistenz in dem Attribut uniqueMember wurde eventuell durch die Existenz des Benutzers und des Rechners sharp in der Gruppe ausgelöst. Ich habe dazu einen Eintrag in unserer interne Datenbank vorgenommen, so dass dies zu einer der nächsten UCS Version verbessert wird.

Um den Zustand der Gruppenmitgliedschaften zu bereinigen sollten Sie wenn möglich über den Univention Directory Manager die falschen Mitglieder entfernen. Sollten diese dort nicht angezeigt werden müssen Sie einen LDAP-Tool (beispielsweise gq oder ldapmodify) verwenden um das Attribut uniqueMember zu korrigieren. Sind die Werte des Attribut uniqueMember wieder korrekt, müssten Sie mit dem Tool univention-sync-memberuid das Attribut memberUid ebenfalls anpassen können. Sind die Werte der beiden Attribute wieder korrekt, so sollte das Anlegen eines Benutzers wieder ohne Fehlermeldung funktionieren.

Mit freundlichen Grüßen
Andreas Büsching