Teachers.csv - user exists already as sohpomorix user

Hallo Max,

Das kann so nicht stimmen.
Diese Datei wird offensichtlich angelegt/erneuert, wenn ich im Webinterface meine csv hochlade und auf speichern (bzw. „Speichern & Prüfen“ drücke.

D.h., meine „schlechte“ neue csv ist bereits zur teachers.csv geworden, obwohl ich eine Fehlermeldung bekomme.

Mit anderen Worten: ich editiere meine csv, lade sie hoch und bekomme die obige Meldung, dass Nutzer xy bereits existiert. Damit wird der Nutzer ja nicht angelegt bzw. spiegelt die teachers.csv auf dem Server eine unmögliche Situation wider…

Wenn ich die problematischen Nutzer (wahrscheinlich wirklich das Geburtstagsaktualisierungsproblem) aus meiner csv lösche, bekomme ich die Fehlermeldung nicht mehr. Aber der angeblich existierende Nutzer ist trotzdem nicht in der teachers.csv :-(…

Das Problem ist ja, dass (im Webinterface) keine echte Lösch-Funktion existiert, sondern nur ein löschen in der Listenverwaltung (also editieren der csv) möglich ist…

Kannst Du das noch etwas genauer schildern? Ist da irgendwo eine Anleitung für?

Danke!

Habe ich jetzt mal gemacht. Leider ist sophomorix missgelaunt:

sophomorix-check 
Command line::
Option json is a modifier option
Hmmh. do not know what to do with option info
Option verbose is a modifier option
* forcing info mode
Option combinations successfully checked
OK: SophomorixSchemaVersion 1 matches required Version 1
#### Reading /usr/share/sophomorix/devel/sophomorix.ini                       ####
#### Distro-check: Ubuntu 22.04 is OK                                         ####
#### Reading /etc/samba/smb.conf                                              ####
#### Reading /usr/lib/linuxmuster-webui/etc/default-ui-permissions.ini        ####
#### Parsing: net conf list                                                   ####
#### Asking domain passwordsettings from samba                                ####
#### Reading /etc/linuxmuster/sophomorix/sophomorix.conf                      ####
#### Reading /etc/linuxmuster/sophomorix/default-school/school.conf           ####
#### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
#### Creating lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### /usr/sbin/sophomorix-check started ...                                   ####
#### Cleaning up last check                                                   ####
Encoding extrastudents.csv: UTF8 (ENCODING=auto,*_FORCE=FALSE, *_CHECKED=UTF8)
Encoding students.csv: UTF8 (ENCODING=auto,*_FORCE=FALSE, *_CHECKED=UTF8)
Encoding teachers.csv: UTF8 (ENCODING=auto,*_FORCE=FALSE, *_CHECKED=UTF8)
#### Reading injected lines ...                                               ####
#### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
#### Searching AD for users ...                                               ####
#### Query AD (begin)                                                         ####
#### Query AD (end)                                                           ####

#### ### School default-school: Matching lines in files to users in AD ...    ####
#### unidMATCH: 1056 CHECKED in default-school, MATCH: 905, NOMATCH: 151, NOunid: 0####
#### exactMATCH: 151 CHECKED in default-school, MATCH: 11, NOMATCH: 140       ####
#### approxMATCH: 140 CHECKED in default-school, MATCH: 0 (Edit distance: 1)  ####
#### approxMATCH: 140 CHECKED in default-school, MATCH: 1 (Edit distance: 2)  ####
#### approxMATCH: 139 CHECKED in default-school, MATCH: 25 (Edit distance: 3) ####
#### approxMATCH: 114 CHECKED in default-school, MATCH: 34 (Edit distance: 4) ####
#### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### Login zzlin forbidden, zzlin exists already as a sophomorix user' | teachers.csv LINE 90: Lehrer;Li***;Uta;01.01.1990;zzlin;;;;;####
Calling console printout
ERROR   -1: Login zzlin forbidden, zzlin exists already as a sophomorix user' | teachers.csv LINE 90: Lehrer;Li***;Uta;01.01.1990;zzlin;;;;;

Hallo Guntram,

Kannst Du das noch etwas genauer schildern? Ist da irgendwo eine
Anleitung für?

… das steht schon alles so in der Anleitung …

Aber ich will es gerne nochmal erklären.

Was du jetzt machen mußt, ist deine Nutzerverwaltung gerade ziehen,
damit da mal wieder Ordnung herrscht.
Bis jetzt nehme ich ja an, du hast in einer neuen Version der
teachers.csv einfach die Geburtsdaten (warum auch immer …) geändert.
Das ist ein Fall, der nicht vorkommen sollte.
Was du jetzt eigentlich haben willst, ist dass die Nutzer so wieder alle
da sind, wie sie vorher da waren.
Dazuu brauchst du die alte (orginal) teachers.csv, damit du die
richtigen Geburtsdaten wieder hast.
Dann legst du die hin, ergänzt etwaige neue Zeilen und importierst das:
fertig.
Du mußt also die alten teachers.csv suchen auf dem Server und da dann
die richtige raussuchen.
find / -name teachers.*

Und jetzt noch dazu, wie das alles funktioniert.
sophomorix ist eine sehr ausgereifte Nutzerverwaltung mit Gewicht auf
Fehlerrobustheit und dass man auch mal was Rückgängig machen kann.
Deswegen ist da ein dreistufiges Löschverfahren integriert.
Verschwindet ein NUtzer (zum Beispiel, weil sich sein Geburtsdatum
ändert: dann ist einer weg und ein neuer da, weil sich Geburtsdaten ja
eben nicht ändern), dann wandert er in die Duldung.
Da bleibt er für so lange wie in der school.conf angegeben.
Wird dann wieder
sophomoric-check
aufgerufen, wird er deaktiviert: wandert also in die Deaktivierung mittels
sophomorix-update
Auch diese Zeit ist in der school.conf angegeben.
Ist sie überschritten macht ein
sophomorix-check ihn deaktivierbar und ein
sophomorix-update
deaktiviert ihn.
Ist auch diese Zeit überschritten macht ein
sophomorix-check
ihn killbar und ein
sophomorix-kill
löscht ihn.

LG

Holger

Hallo Guntram,

das sit nicht missgelaunt sondern sagt dir ganz hgenau, was nciht geht:
sogar welche Zeile betroffen ist.
Also kommentier doch erst mal die Zeile 90 aus.

LG

Holger

Hallo Guntram,

approxMATCH: 140 CHECKED in default-school, MATCH: 0 (Edit

distance: 1) #### #### approxMATCH: 140 CHECKED in default-school,
MATCH: 1 (Edit distance: 2) #### #### approxMATCH: 139 CHECKED in
default-school, MATCH: 25 (Edit distance: 3) #### #### approxMATCH: 114
CHECKED in default-school, MATCH: 34 (Edit distance: 4) ####

beachte auch diese Zeile.
Edit Distance bedeutet, er hat 25 User gefunden, die in ihren Zeilen 3
Zeichen UNterschied haben zu den Angaben mit denen sie im AD stehen.
z.B. passiert das, wenn Schüler*innen ein neuer Vornamen wächst
(passiert bei mir in der Schule andauernd).
Oder er verschwindet (passiert auch andauernd).

Viele Grüße

Holger

Ich bins mal wieder ;-).

Ich habe den Server neu aufsetzen müssen und bin jetzt wieder am Listen wurschteln…

Frage: wie kann ich via CSV-Datei Stammdaten eines Lehrers ändern?

Konkretes Beispiel:
Ich habe eine CSV mit Lehrern erzeugt und diese importiert. Dann ist mir aufgefallen, dass manche Lehrer multiple Vornamen haben und ich das gerne auf einen Vornamen einkürzen möchte (Problem beim Passwortlisten-Export aus lmn: Vor- und Nachname sind ein gemeines Feld, einfache Trennung mit Suche nach " " ist nicht mehr möglich).

Wenn ich jetzt in meiner ursprünglich importieren csv auf meinem Laptop die Namen entsprechend ändere und die Datei im Webinterface via „Liste/CSV/CSV laden“ hochlade und überprüfen lasse, meckert sophomorix, dass die Nutzerkennung des entsprechenden Nutzer bereits existiert.
Sprich: er erkennt nicht, dass der Nutzer mit einem anstatt zwei Vornamen Unterschied derselbe Nutzer ist.

Wie gehe ich in einem solchen Fall korrekt vor?

Danke,
Guntram

Hallo Guntram,

sophomorix-teach-in
ist dein Freund.
Mit --help
verrät es dir, wie es angewendet wird.
Default ist, meine ich, 4 Zeichen: also füge deine Änderungen langsam ein, dann erkennt sophomorix, dass der bestehende modifiziert werden soll.

LG

Holger