Fehlermail durch Cron alle 5 Minuten

german

#1

Hallo,

ich bekomme seit ein paar Tagen alle 5 Minuten folgende Mail vom Cron Daemon. Ein Update auf UCS 4.1 und Durchführung aller weiteren Updates hat keine Lösung gebracht. OX ist auch aktuell.

[quote]Traceback (most recent call last):
File “/usr/lib/univention-directory-listener/system/ox-user.py”, line 724, in
handler.process_pending()
File “/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py”, line 121, in process_pending
return self.process(func)
File “/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py”, line 177, in process
result = func(dn, entry.new, entry.old, entry.action)
File “/usr/lib/univention-directory-listener/system/ox-user.py”, line 365, in handler
filter = ‘(&(gidNumber=%s)(objectClass=posixGroup))’ % gidnumber
UnboundLocalError: local variable ‘gidnumber’ referenced before assignment[/quote]

Was kann die Ursache sein und wie behebe ich das Problem?


#2

Moin,

das wird vom Directory-Listener-Modul für ox ausgelöst, das Benutzer und Gruppen, die in UCS als ox-User geflaggt sind, in der Groupware zu registrieren. Wenn ich mir den Code anschaue, so scheint es dort einen Bug in der Programmlogik zu geben. Allerdings ist mir nicht ganz klar, durch welche Art von Objekten dies ausgelöst werden kann, denn das passiert wohl nur, wenn das zu synchronisierende Objekt kein Attribut »gidNumber« hat.

Das Modul gibt allerdings einige Debug-Informationen aus, die in der Datei »/var/log/univention/listener.log« gespeichert werden. Schauen Sie dort bitte mal nach Zeilen, die »ox-user:« beinhalten, und pasten Sie die hier.

Gruß,
mosu


#3

Nachtrag: eventuell kann diese Situation eintreten, wenn ein Benutzerkonto angelegt wurde, das KEIN Posix-Konto ist. Das können Sie mal prüfen.


#4

Hallo,

Sie haben einen User ohne POSIX “Option” angelegt. Ein solcher Benutzer hat keine GruppenID (gidnumber) und funktioniert nicht mit OX.

Der Account lässt sich nicht einfach reparieren. Am Besten löschen Sie ihn und legen ihn neu an.

Sie können den Account hiermit finden:

univention-ldapsearch '(&(objectClass=oxUserObject)(isOxUser=OK)(!(objectClass=posixAccount)))'

oder

univention-ldapsearch '(&(objectClass=oxUserObject)(isOxUser=OK)(!(gidNumber=*)))'

Anschließend müssen Sie noch die Lister der zu erledigenden Aufgaben für den ox-user listener leeren:

/etc/init.d/univention-directory-listener stop rm -r /var/spool/univention-directory-listener/ox-user /etc/init.d/univention-directory-listener start

Falls es noch unerledigte Aufgaben für den listener gibt, können Sie ihn reinitialisieren. Er wird dann versuchen alle User neu anzulegen (das kann bei vielen Usern entsprechend lange dauern):

univention-directory-listener-ctrl resync ox-user

#5

Hallo Moritz, hallo troeder,

vielen Dank für eure Hilfe! Es lag tatsächlich an einem Userkonto ohne POSIX Option. Mit den von troeder beschriebenen Schritten konnte das Problem behoben werden.