Fehler beim UCS@school Consistency Check

Hallo zusammen,
wir haben unser System (Multi-ServerSystem mit “Master” und 18 Schul-“Slave”) seit über 10 Jahren in Betrieb und aktuel auf UCS4.4-7 mit UCS@school 4.4 v9.

Seit dem letzten Update von UCS@school von Version 4.4 v8 nach 4.4 v9 haben wir als Ergebnis der Systemdiagnose -> UCS@school Consistency Check massenhaft Probleme an Userobjekten.

Beispiel aus Systemdiagnose:
uid=xxxxxx,cn=schueler,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local

  • Not member of group cn=Domain Users KWOSZ,cn=groups,ou=KWOSZ,dc=ssvaffo,dc=local

Ergebnis aus udm users/user list
cn=Domain Users kwosz,cn=groups,ou=KWOSZ,dc=ssvaffo,dc=local

Seit Jahren sind bei uns die OU’s großgeschrieben und und die Gruppe 'Domain Users ’ ou kleingeschrieben - Standard bei Erstellung einer OU.

Jetzt wird beim o.g. Check nach 'Domain Users ’ grossgeschrieben geprüft. Darum werden aller User als Fehler angezeigt.

Selbst beim Cli-Import über import_user wird nach gross geprüft und bringt bei uns den Fehler:

2021-03-23 12:16:44 DEBUG base.get_only_udm_obj:1063 Getting LegacyImportStudent UDM object by filter: (&(|(objectClass=ucsschoolTeacher)(objectClass=ucsschoolStaff)(objectClass=ucsschoolStudent))(ucsschoolSourceUID=LegacyDB)(ucsschoolRecordUID=schulzs01))
2021-03-23 12:16:44 ERROR validator.validate:493 0dd5ddd3-f5c3-4150-8c8f-80f024cdf77b UCS@school Object uid=xxxx,cn=schueler,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local with options {‘default’: True, ‘ucsschoolStudent’: True} has validation errors:
- is missing groups at positions [‘cn=Domain Users KWOSZ,cn=groups,ou=KWOSZ,dc=ssvaffo,dc=local’]
2021-03-23 12:16:44 ERROR validator.validate:493 d4cb22bd-de2e-4ece-80fb-3027ac3a1d81 UCS@school Object uid=xxxx,cn=schueler,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local with options {‘default’: True, ‘ucsschoolStudent’: True} has validation errors:
- is missing groups at positions [‘cn=Domain Users KWOSZ,cn=groups,ou=KWOSZ,dc=ssvaffo,dc=local’]

Warum wird dies beim Check und Validation nicht berücksichtigt?

Gruesse
Detlef

Hallo Detlef,

Der Gruppenname sollte der Groß-/Kleinschreibung der OU folgen.
Die Domain Users $OU Gruppe für ou=KWOSZ,dc=ssvaffo,dc=local sollte eigentlich Domain Users KWOSZ heißen. Vielleicht hat sich da im Laufe der Jahre etwas geändert.

Wir werden den Validierungscode auf jeden anpassen, dass er case-insensitive prüft, denn DNs sind ja als solche definiert (→Bug #53044).

Könntest du mir einen Gefallen tun, und auf deinem System testweise eine neue Schule einmal per UMC-Schulen-Modul und einmal per CLI (/usr/share/ucs-school-import/scripts/create_ou) anlegen und schauen ob die neuen Gruppen Domain Users $OU mit groß- oder kleingeschriebener OU heißen?

Außerdem würde mich interessieren wie die OUs am Userobjekt notiert sind. Könntest du folgendes ausführen?:

univention-ldapsearch -LLL uid=xxxxxx ucsschoolRole ucsschoolSchool

Vielen Dank
Daniel

Hallo Daniel,
danke erstmal für deine Antwort.
Mir stellt sich die Frage: Haben nur wir dieses Problem?

Dieser o.g. Master ist seit UCS 4.0.0 incl. UCS@School in Betrieb, alle OU’s wurden bei Inbetriebnahme angelegt -> mit kleingeschriebener OU bei o.g. Gruppe. Dies kann ich auch bei einem noch bestehenden UCS4.0.4 nachvollziehen.
Die im Laufe der Zeit hinzugekommen OU’s werden gross -> o.g. Gruppe - gross.

In unserer Testumgebung (Stand identisch mit o.g. Master) habe ich per UMC und CLI eine neue OU angelegt - Schreibweise der OU wird übernommen

  1. OU gross -> Gruppe gross
  2. OU klein -> Gruppe klein

Die Ausgabe von univention-ldapsearch - Notierung OU’s am Userobjekt:
dn: uid=xxxxxx,cn=schueler,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local
ucsschoolRole: student:school:KWOSZ
ucsschoolSchool: KWOSZ

Ich habe testweise die Gruppe im LDAP -> OU -> groups -> Domain Users xxxx umbenannt in Domain Users XXXXX -> User werden beim Check nicht mehr gelistet, AAABER OUAdmins mit Gruppen admins-xxx und Option UCS@school-Administrator werden weiterhin angezeigt:

  • User does not have UCS@School Role school_admin:school:KWOSZ

Dazugehörig die Notifikation
dn: uid=xxxxx,cn=lehrer und mitarbeiter,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local
ucsschoolSchool: KWOSZ
ucsschoolRole: teacher:school:KWOSZ
ucsschoolRole: staff:school:KWOSZ

Eine einheitliche Lösung dafür müssen wir finden, notfalls müssen wir ein Serviceticket öffnen.
Bitte auch an die Validierung per alten Script import_user denken.

Gruesse aus Frankfurt(Oder)
Detlef

Hallo Detlef,

vielen Dank für die Tests. Wir werden sie in die Prüfung für den Fix mit einbeziehen.
Da hat sich wohl etwas zwischen 4.0 und 4.4 an der Namenserzeugung geändert…

  • Die Namen Admin-Gruppen werden auch aktuell klein geschrieben (ou=DEMOSCHOOL → cn=admins-demoschool), da hat sich also nichts geändert.
  • Das Fehlen von UCS@School Role school_admin:school:KWOSZ wundert mich aber… das wäre u.U. problematisch in der Zukunft… Wie ist denn die Ausgabe des obigen univention-ldapsearch Befehls für so einen OU-Admin?

Grüße
Daniel

Hallo Daniel,
ich nehme mal einen unserer Funktions-Accounts kw-lehrermit:

UMC -> Benutzer:

  • Mitglied in Domain Users kwosz, lehrer-kwosz, mitarbeiter-kwosz, admins-kwosz
  • UCS@school -> KWOSZ
  • Optionen -> UCS@school-Administrator, UCS@school-Lehrer, UCS@school-Mitarbeiter

UMC -> Systemdiagnose:

  • uid=kw-lehrermit,cn=lehrer und mitarbeiter,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local
  • User does not have UCS@School Role school_admin:school:KWOSZ
  • Not member of group cn=Domain Users KWOSZ,cn=groups,ou=KWOSZ,dc=ssvaffo,dc=local

CLI -> univention-ldapsearch -LLL uid=kw-lehrermit ucsschoolRole ucsschoolSchool

  • dn: uid=kw-lehrermit,cn=lehrer und mitarbeiter,cn=users,ou=KWOSZ,dc=ssvaffo,dc=local
  • ucsschoolSchool: KWOSZ
  • ucsschoolRole: teacher:school:KWOSZ
  • ucsschoolRole: staff:school:KWOSZ

Gruesse aus Frankfurt (Oder)
Detlef

Mastodon