-
Notifications
You must be signed in to change notification settings - Fork 60
0013632: LDAP user backend: groups are not synced #6742
Comments
Comment posted by lab-at-nohl on 21 Nov 2017 11:17 Unterstützt 389ds das Attribut "entryUUID", oder ist das was openLdap spezifisches? Wenn du in die Datenbank schaust, wie sehen die Id der Benutzer und Gruppen aus? Alternativ kann man im Setup einstellen, dass der Benutzer/Gruppen-Sync nach Name, nicht nach Id erfolgt. Schafft das Abhilfe? |
Comment posted by kneip on 24 Nov 2017 09:03 Moin, 389ds nutzt hier in der vorliegenden Umgebung gidNumber/uidNumber, das lässt sich ja auch im Setup konfigurieren. Etwas DEBUG-Log versuche ich gerade zusammenzustellen. Viele Grüße, Bernhard |
Comment posted by kneip on 24 Nov 2017 09:25 Hier ein interessantes Stück Log: Test-User "headroom" (UID 4999) existiert in tine20, wurde im LDAP aus der Gruppe "developers" (GID 1001) entfernt und darauf ein erneuter Sync angestoßen. Das Log zeigt das Entfernen aus der Gruppe bei den User-Attributen, das Entfernen des Nutzers aus der Member-Liste der Gruppe, dann in den letzten beiden Log-Einträgen ist die UID jedoch wieder dabei - so meine laienhafte Interpretation des Logs. Am Schluss bleibt der User headroom zumindestens im UI Mitglied der Gruppe "developers". 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Group_Ldap::getGroupMembershipsFromSyncBackend::1019 ldap search filter: (&(objectclass=posixgroup)(|(memberuid=headroom)(member=uid=headroom,cn=users,cn=accounts,dc=ipa,dc=example,dc=com))) 9166d setupuser - 2017-11-24T08:57:11+00:00 DEBUG (7): Tinebase_Group::syncMemberships::190 Set new group memberships: Array 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Group_Sql::setGroupMembershipsInSqlBackend::305 current groupmemberships: Array 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Group_Sql::setGroupMembershipsInSqlBackend::306 new groupmemberships: Array 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Group_Sql::setGroupMembershipsInSqlBackend::307 added groupmemberships: Array 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Group_Sql::setGroupMembershipsInSqlBackend::308 removed groupmemberships: Array 9166d setupuser - 2017-11-24T08:57:11+00:00 DEBUG (7): Tinebase_Controller_Record_ModlogTrait::_writeModLog::71 Writing modlog for Tinebase_Model_Group 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Record_RecordSet::_getMatchingRecords::592 Filtering field 'name' of 'Tinebase_Model_Application' without indices, expecting slow results ) 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Timemachine_ModificationLog::writeModLog::848 CurRecord: Array ) 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Timemachine_ModificationLog::writeModLog::850 NewRecord: Array ) 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Timemachine_ModificationLog::writeModLog::852 Common modlog: Array 9166d setupuser - 2017-11-24T08:57:11+00:00 TRACE (8): Tinebase_Timemachine_ModificationLog::setModification::488 Inserting modlog: Array |
Comment posted by kneip on 29 Nov 2017 14:29 Fehlt hier noch etwas von meiner Seite? Das Debug-Log habe ich als private Notiz hinzugefügt, dies ist doch für Euch einsehbar? Viele Grüße, |
Comment posted by kneip on 1 Dec 2017 10:40 Beobachtung: Ein Lauf von updated zwar die Tabelle "tine20_group_members" korrekt, jedoch wird zumindest im Admin-Modul nicht der Status der aktualisierten Tabelle wiedergespiegelt. Folgender Ablauf zum Nachstellen: User headroom Mitglied der Gruppen 100, 1001, 1002, finden sich in der sql Tabelle und auch im Webinterface wieder: MariaDB [tine20]> select * from tine20_group_members where account_id='4999'; +----------+------------+
Korrekt aktualisiert in der Tabelle: Jedoch NICHT im Webinterface selber. |
Comment posted by kneip on 1 Dec 2017 10:48 Caching als Ursache ausgemacht: cd /var/lib/tine20/cache Nun sind die Gruppen auch effektiv aktualisiert. |
Comment posted by pschuele on 4 Jan 2018 14:17 > Vorschlag: Cache nach der Synchronisation zumindestens bei veränderten Gruppenmitgliedschaften invalidieren. ja, dem stimme ich zu. werde mich darum kümmern. |
Comment posted by pschuele on 4 Jan 2018 14:41 |
Reported by kneip on 20 Nov 2017 16:50
Version: 2017.08.8 Community Edition
Neue Installation, Benutzerverwaltung via LDAP. Login für die Nutzer funktioniert.
Nach dem initialen Import eines Users werden die Gruppenmitgliedschaften nicht mehr synchronisiert.
Um einen Nutzer in neue Gruppen hinzuzufügen, muss
er gelöscht und danach
php /usr/share/tine20/setup.php -c /etc/tine20/config.inc.php --sync_accounts_from_ldap
erneut ausgeführt werden.
Steps to reproduce: Benutzerverwaltung via LDAP einrichten, Gruppenmitgliedschaften nach erstem Import ändern.
php /usr/share/tine20/setup.php -c /etc/tine20/config.inc.php --sync_accounts_from_ldap ausführen, wundern, warum die Gruppenmitgliedschaften nicht aktualisiert werden.
Additional information: 389ds, free-ipa
The text was updated successfully, but these errors were encountered: