Schwerwiegendes Problem bei OX/Univention - Anlegen eines Users

german

#1

Wir haben eine frisch Lizensiertes OX System unter Univention.

Beim anlegen eines users sind wir durch einen fehlgeschlagenen Login auf folgendes Problem gestoßen. Univention behauptet, die Mail-Adresse sei bereits dem User mit der ID 68 zugewiesen. Dieser User existiert jedoch definitiv nicht. Auch wurde die Adresse nicht in den anderen Usern verwendet.

Wir sind somit nicht in der Lage die Mail-Adresse zu zuweisen und ehrlich gesagt ratlos. Aus einem anderen Post haben wir den Vorschlag aufgenommen, die Listener Queue zu löschen, nachdem wir zuerst mal ein ziemlich verrück spielendes System hatten in dem immer wieder versucht wurde den User anzulegen und die Queue aufgrund des Fehler nicht mehr zu Ruhe kam. Wir haben danach das OX Ldap Verzeichnis neu gesynct, was ebenfalls funktioniert hat, jedoch ohne das Problem zu beheben.

Hier der Auschnitt aus der Listener.log (User wurde mit TEST maskiert

20.03.17 15:04:53.220  LISTENER    ( PROCESS ) : updating 'uid=TEST,cn=users,dc=MYDOMAIN,dc=eu' command a
20.03.17 15:04:53.234  LISTENER    ( PROCESS ) : dovecot: Added mail account 'TEST@MYDOMAIN.eu'.
20.03.17 15:04:53.267  LISTENER    ( PROCESS ) : ox-user: New Object is OX-User: True
20.03.17 15:04:53.267  LISTENER    ( PROCESS ) : ox-user: Old Object is OX-User: False
20.03.17 15:04:53.267  LISTENER    ( PROCESS ) : ox-user: new username: TEST
20.03.17 15:04:53.267  LISTENER    ( PROCESS ) : ox-user: new mailPrimaryAddress: TEST@MYDOMAIN.eu
UNIVENTION_DEBUG_BEGIN  : uldap.__open host=ucs.MYDOMAIN.eu port=7389 base=dc=MYDOMAIN,dc=eu
UNIVENTION_DEBUG_END    : uldap.__open host=ucs.MYDOMAIN.eu port=7389 base=dc=MYDOMAIN,dc=eu
20.03.17 15:04:54.270  LISTENER    ( PROCESS ) : ox-user: lockfilename: /var/lock/deleteuid-2080
20.03.17 15:04:54.270  LISTENER    ( PROCESS ) : ox-user: Creating ox user 'TEST'
20.03.17 15:04:55.325  LISTENER    ( ERROR   ) : OX: failed with 103: user in context 10 could not be created:
Server response:
 Primary mail address "TEST@MYDOMAIN.eu" already exists in context 10 (Already assigned to user 68).
        at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.primaryMailExists(OXToolMySQLStorage.java:1662)
        at com.openexchange.admin.storage.mysqlStorage.OXToolMySQLStorage.primaryMailExists(OXToolMySQLStorage.java:1636)
        at com.openexchange.admin.rmi.impl.OXUser.createUserCommon(OXUser.java:1656)

usw.. usw....

Wir benötigen dringend Hilfe, da hier ucs / ox offensichtlich ein schwerwiegendes Problem hat und buggy ist.


#2

Der "user 68" is ein OX-User. OX hat seine eigene Benutzerdatenbank in MySQL, zu der UCS unidirektional synct. Die OX-Datenbank zu listen geht so:

/opt/open-xchange/sbin/listuser -c 10 -A oxadmin -P "$(cat /etc/ox-secrets/context10.secret)"

Um den user 68 in der OX-DB zu löschen, führen Sie aus:

/opt/open-xchange/sbin/deleteuser -c 10 -A oxadmin -P "$(cat /etc/ox-secrets/context10.secret)" -i 68

Beste Grüße
Daniel Tröder


#3

Danke für die schnelle Antwort, per "listuser" wurde der besagte "User 68" nicht angezeigt.

Der befehlt zum löschen hat jedoch funktioniert, nun kann ich die Mailadresse wieder nutzen.

Herzliche Grüße
Daniel Hiller


#4

Sehr seltsam, noch nie gehabt so einen Fall...
Aber schön, dass es jetzt geklappt hat.

liebe Grüße

Sascha


#5

Da habe ich mich ungeschickt ausgedrückt. Der user heißt bei OX nicht "User 68", sondern ist ein User mit der ID 86 in der OX-DB User-Tabelle.

Schön, dass es geklappt hat.


#6

Hallo,

schön, dass es jetzt wieder funktioniert. Ich möchte jedoch noch einen Hinweis beisteuern:

Das Löschen der Listener-Queue hat mit sehr hoher Wahrscheinlichkeit das Problem mit dem User mit Id "68" ausgelöst. Alle relevanten Änderungen im LDAP werden Step by Step über die Listener-Queue in die OX-MySQL-Datenbank synchronisiert. Wird die Queue gelöscht, fehlen ggf. wichtige Schritte in der OX-DB (hier vermutlich das Löschen des Users mit der Id 68 bzw. das Ändern seiner Mailadresse) - LDAP und OX-DB sind dann out-of-sync.
Es wurde damit leider nur kurzfristig das eigentliche Problem kaschiert, welches jetzt wieder zutage getreten ist.

Wir empfehlen daher nicht die Listener-Queue für die OX-Listener-Module zu löschen, sondern stattdessen gezielt die Ursache für die Syncprobleme zu identifizieren und zu beheben, da einen sonst entweder das gleiche oder ein größeres Problem heimsucht.

Viele Grüße

Sönke Schwardt-Krummrich


#7

Dass ist mit Sicherheit nicht der Fall.
Die Listener Queue wurde gelöscht weil das System sich festgefressen hat.
Es war der einzige Weg um überhaupt wieder arbeiten zu können.

Der Fehler trat bereits VOR dem Löschen der Queue auf.