Ein Benutzer mit der ID "oxdemo" konnte nicht im Kontext 10 gefunden werden. (USR-0015)

Hallo,
wir haben in UCS Open-Xchange laufen,
bisher auch ohne größere Probleme.

Aktuell haben wir aber das Problem, wenn wir in UCS einen neuen User anlegen, und sich dieser versucht über
domain/appsuite anzumelden folgende Fehlermeldung erhält.

Ein Benutzer mit der ID “oxdemo” konnte nicht im Kontext 10 gefunden werden. (USR-0015)

da scheint im Hintergrund irgendwas nicht zu sync. wie können wir das von hand anschupsen ?

Hallo,

könnten Sie einen Blick in die Datei /var/log/univention/listener.log werfen?
Taucht dort die Meldung sqlite3.OperationalError: attempt to write a readonly database auf?

Viele Grüße

Sönke Schwardt-Krummrich

Hallo Dakerschön

listener.log ist leider komplett leer, ohne jeden Eintrag.

Ich habe versucht mittels: univention-directory-listener-ctrl resync ox-user
das ganze neu zu sync. allerdings wird mir hier nur die Anzahl der Module aufgelistet…

Ox-Users werden auch Rot hinterlegt, und haben die Module ID 0

ich habe neulich einen weiteren UCS installiert, und diesen als Backup in die Domäne eingehängt
evtl. besteht seit daher das Problem.

univention-directory-listener-ctrl resync ox-user

Modules:
3 bind /usr/lib/univention-directory-listener/system/bind.py
3 dovecot /usr/lib/univention-directory-listener/system/dovecot.py
3 dovecot-shared-folder-ox /usr/lib/univention-directory-listener/system/dovecot-shared-folder-ox.py
3 dovecot-shared-folder /usr/lib/univention-directory-listener/system/dovecot-shared-folder.py
3 faillog /usr/lib/univention-directory-listener/system/faillog.py
3 gencertificate /usr/lib/univention-directory-listener/system/gencertificate.py
3 hosteddomains /usr/lib/univention-directory-listener/system/hosteddomains.py
3 keytab-member /usr/lib/univention-directory-listener/system/keytab-member.py
3 keytab /usr/lib/univention-directory-listener/system/keytab.py
3 ldap_extension /usr/lib/univention-directory-listener/system/ldap_extension.py
3 ldap_server /usr/lib/univention-directory-listener/system/ldap_server.py
3 license_uuid /usr/lib/univention-directory-listener/system/license_uuid.py
3 nagios-client /usr/lib/univention-directory-listener/system/nagios-client.py
3 nfs-homes /usr/lib/univention-directory-listener/system/nfs-homes.py
3 nfs-shares /usr/lib/univention-directory-listener/system/nfs-shares.py
3 nscd_update /usr/lib/univention-directory-listener/system/nscd.py
3 nss /usr/lib/univention-directory-listener/system/nss.py
3 ox-context /usr/lib/univention-directory-listener/system/ox-context.py
3 ox-domain /usr/lib/univention-directory-listener/system/ox-domain.py
3 ox-fetchmail /usr/lib/univention-directory-listener/system/ox-fetchmail.py
3 ox-groups /usr/lib/univention-directory-listener/system/ox-groups.py
3 ox-resource /usr/lib/univention-directory-listener/system/ox-resource.py
0 ox-user /usr/lib/univention-directory-listener/system/ox-user.py
3 pkgdb-watch /usr/lib/univention-directory-listener/system/pkgdb-watch.py
3 portal_entry /usr/lib/univention-directory-listener/system/portal_entry.py
3 portal /usr/lib/univention-directory-listener/system/portal.py
3 quota /usr/lib/univention-directory-listener/system/quota.py
3 s4-connector /usr/lib/univention-directory-listener/system/s4-connector.py
3 samba4-idmap /usr/lib/univention-directory-listener/system/samba4-idmap.py
3 samba-shares /usr/lib/univention-directory-listener/system/samba-shares.py
3 udm_extension /usr/lib/univention-directory-listener/system/udm_extension.py
3 umc-service-providers /usr/lib/univention-directory-listener/system/umc-service-providers.py
3 univention-saml-servers /usr/lib/univention-directory-listener/system/univention-saml-servers.py
3 univention-saml-simplesamlphp-configuration /usr/lib/univention-directory-listener/system/univention-saml-simplesamlphp-configuration.py
3 well-known-sid-name-mapping /usr/lib/univention-directory-listener/system/well-known-sid-name-mapping.py

Den guten " demo " hatte ich über UCS gelöscht

root@web1:~# /opt/open-xchange/sbin/listuser -c 10 -A oxadmin -P “$(cat ‘/etc/ox-secrets/context10.secret’)”

55213 demo demo demo@xxxxxx.de -1

und eben neu angelegt, nun kann ich mich über Appsuite einloggen, der User hat natürlich keinen Imap Zugriff

Hallo,

läuft der Service univention-directory-listener auf ihrem System?
Es ist ungewöhlich, dass die Logdatei listener.log komplett leer ist.

Führen Sie bitte einen Neustart des Univention Directory Listeners durch und prüfen dann die Datei listener.log erneut.

service univention-directory-listener restart

Nach dem Ausführen dieses Befehls wird der von ihnen angestoßene Resync des Listener-Moduls nachgeholt. Dies kann je nach Benutzeranzahl einige Zeit benötigen.

Viele Grüße

Sönke Schwardt-Krummrich

Ich hatte mich geirrt, das log ist nicht leer, sondern so voll das der Editor einige viele Sekunden benötigt bis er was anzeigt
auf jedenfall ist Ihre Vermutung dabei

“sqlite3.OperationalError: attempt to write a readonly database”

hier der Log Schnipsel

30.08.17 12:17:00.104 LISTENER ( WARN ) : received signal 15
30.08.17 12:17:05.629 DEBUG_INIT
30.08.17 12:17:06.804 LISTENER ( WARN ) : ox-user(OXUserIdCache): rebuilding cache…
30.08.17 12:17:06.804 LISTENER ( ERROR ) : import of filename=/usr/lib/univention-directory-listener/system/ox-user.py failed
Traceback (most recent call last):
File “/usr/lib/univention-directory-listener/system/ox-user.py”, line 167, in
_ox_user_id_cache.rebuild_cache(raise_exceptions=False)
File “/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py”, line 118, in rebuild_cache
self.__clear_database()
File “/usr/lib/pymodules/python2.7/univention/ox/listener_tools.py”, line 107, in __clear_database
self.cursor.execute(‘DELETE FROM user_id_cache’)
sqlite3.OperationalError: attempt to write a readonly database
30.08.17 12:17:06.805 LISTENER ( ERROR ) : import of filename=/usr/lib/univention-directory-listener/system/ox-user.py failed in module_import()
UNIVENTION_DEBUG_BEGIN : uldap.__open host=web1.xxxxx.de port=7389 base=dc=xxxx,dc=de
UNIVENTION_DEBUG_END : uldap.__open host=web1.xxxx.de port=7389 base=dc=xxxx,dc=de
30.08.17 12:20:02.399 DEBUG_INIT
30.08.17 12:20:02.399 LISTENER ( WARN ) : ox-user(OXUserIdCache): rebuilding cache…
30.08.17 12:20:06.475 LISTENER ( WARN ) : ox-user(OXUserIdCache): cache rebuild finished
30.08.17 12:20:06.478 LISTENER ( PROCESS ) : ox-user: New Object is OX-User: True
30.08.17 12:20:06.478 LISTENER ( PROCESS ) : ox-user: Old Object is OX-User: False
30.08.17 12:20:06.478 LISTENER ( PROCESS ) : ox-user: new username: info.kreative
30.08.17 12:20:06.478 LISTENER ( PROCESS ) : ox-user(info.kreative): new mailPrimaryAddress: info@xxxxxx.de
UNIVENTION_DEBUG_BEGIN : uldap.__open host=web1.oxmail.de port=7389 base=dc=xxxx,dc=de
UNIVENTION_DEBUG_END : uldap.__open host=web1.oxmail.de port=7389 base=dc=xxxx,dc=de
30.08.17 12:20:06.521 LISTENER ( PROCESS ) : ox-user(info.kreative): lockfilename: /var/lock/deleteuid-2046
30.08.17 12:20:06.521 LISTENER ( PROCESS ) : ox-user(info.kreative): Creating ox user “info.kreative” in context 10
30.08.17 12:20:07.591 LISTENER ( ERROR ) : ox-user(info.kreative): failed with 106: user in context 10 could not be created:
Server response:
USER_ALIAS-0002 Categories=ERROR Message=‘A SQL error occurred: Duplicate entry ‘10-57169-info@xxxxx-.de’ for key ‘PRIMARY’.’ exceptionID=1646508123-49
at com.openexchange.admin.storage.mysqlStorage.OXUserMySQLStorage.create(OXUserMySQLStorage.java:2132)
at com.openexchange.admin.storage.mysqlStorage.OXUserMySQLStorage.create(OXUserMySQLStorage.java:2380)
at com.openexchange.admin.rmi.impl.OXUser.createUserCommon(OXUser.java:1667)
at com.openexchange.admin.rmi.impl.OXUser.create(OXUser.java:1566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:345)
at sun.rmi.transport.Transport$2.run(Transport.java:202)
at sun.rmi.transport.Transport$2.run(Transport.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:198)

Scheint das gleiche Problem wie hier zu sein.

Bitte zeigen Sie kurz die aktuellen Berechtigungen & ändern Sie den Besitzer & die Gruppe der SQLite-Datenbank mit folgendem Befehl:

ls -l /var/cache/univention-ox/ox-user-id-cache.db
chown listener:nogroup /var/cache/univention-ox/ox-user-id-cache.db

Anschließend sollten diese Meldungen im Log nicht mehr auftauchen. Stoßen Sie das Modul dann ruhig noch mal an, indem Sie univention-directory-listener-ctrl resync ox-user ausführen.

Anscheinend wird diese SQLite-Datenbank zumindest initial von einem Prozess angelegt, der als root läuft. Da der Listener aber als eingeschränkter User läuft, darf der die Datei dann nicht mehr beschreiben. Die OX-Pakete sollten also beim Anlegen der SQLite-DB gleich die Dateirechte richtig setzen.

@Moritz_Bunkus: Ich vermute auch, dass es das gleiche Problem ist. Die Vorgehensweise zum Fixen ist auch korrekt.

Wir konnten diesen problematischen Sonderfall in der Zwischenzeit nachstellen. Ein Fix für dieses Problem befindet sich aktuell in der Qualitätssicherung und wird im Univention App Center kurzfristig zur Verfügung gestellt.

1 Like
Mastodon