[Schulkonsole] Probleme beim Einsammeln von Schülerdaten

Hallo liebe Forenmitglieder,

eine von mir betreute Schule hatte den Wunsch bei der Umstellung der Schulserverlösung auf linuxmuster 6.2 das Schema der alten Lehrerbenutzer beizubehalten. Diese sahen wie folgt aus: Vorname.Nachname. Gesagt, getan, per sophomorix-Befehle alle Nutzer angelegt, da die Weboberfläche das nicht so wirklich wollte (was mir hätte zu denken geben müssen…). Dadurch ließen sich alle alten, gesicherten Benutzerdaten vom Windows Server (MTS) schnell umziehen.

Nun stellte sich aber im Nachgang raus, dass einzusammelnde Dateien von Schülern sowohl im Klassenarbeitsmodus wie auch im normalen “Unterrichtsmodus” dem Nutzer root und der Gruppe www-data gehören. Testweise hatte ich einen Lehrer ohne den Punkt im Benutzernamen angelegt und mit diesem stimmen dann die Berechtigungen überein (User lehrername und Group teachers). Ohne die korrekten Berechtigungen können die Lehrer die eingesammelten Dateien der Schüler nicht öffnen. Einziger Workaround ist zur Zeit der Download als ZIP-Datei über die Schulkonsole, was aber auch kein Dauerzustand ist.

In der Datei /usr/lib/schulkonsole/bin/wrapper-sophomorix.pl konnte ich nun folgende Zeilen ausfindig machen, die Rechte setzen, welchen den Benutzernamen des Lehrers übernehmen:

488:
system("chown " . $$userdata{uid} . ":root \"$share_dir/$filename\"");

672:
system("chown " . $$userdata{uid} . ":teachers \"$share_dir/$filename\"");

Vielleicht liest hier ja ein der Entwickler mit und kann mir sagen, ob durch eine Anpassung dieses Skript auch nicht-konforme" Benutzernamen akzeptiert werden ;-)… Damit würde ich der Schule weiterhelfen und müsste nicht im Nachgang alle Lehrer noch mal anlegen.

Vielen Dank und viele Grüße
Hendrik

Hallo Hendrik,

ich schreibe dem Entwickler und verweise auf deinen Thread.
Das ist auch ganz interessant für uns, weil wir den Fehler dann auch
gleich in der lmn7 beheben können (wenn das geht).

Ich für meienen Teil halte solche NUtzernamen für kontraproduktiv: wer
will sich schon mit
karlgustav.schreistaedter-winterhalter
anmelden …
(Name frei erfunden … merkt man, oder? :slight_smile: ).
Bei mir bekommen die Lehrer ihren Nachnamen als Login.
Hat der Lehrer einen Doppelnamen, dann frage ich, ob sie wirklich
schreistaedterwinterhalter wollen, oder ob sie lieber
schreistaedter
oder
winterhalter
wollen.

VIele Grüße

Holger

Ich muss sagen, dass das alles ungetested ist.

Bei dem wrapperscript mit dem chown-Befehl ist das Problem, dass man

dass man user und Gruppe auf 2 Arten schreiben kann:

root.root
root:root

Wenn der loginame ein . (oder doppelpunkt) enthält, wird der Teil des loginnamens nach dem punkt schon als Gruppe gesehen.

Man müsste erstmal herausfinden, wie man das auf Konsole macht. Ich glaube sophomorix2 macht das auch nicht richtig.

Um Ärger zu vermeiden, sollte man den Punkt im loginnamen vermeiden.

LG, Rüdiger

Hallo zusammen,

danke für die Antworten! Hier würde mir schon helfen, wenn ich weiss, wie ich die ganze Sache “escapen” kann, so dass der Punkt nicht zum tragen kommt. Das ein Punkt im Login kontraproduktiv ist, weiss ich jetzt auch ;-)… Ich habe damals zusammen mit der Schule den einfachen Weg entschieden um alle Dateien per Skript einfach migrieren zu können.

Hast du @jeffbeck mir ein Tipp, was ich wie anpassen kann, damit die Lehrer der Schule wieder die Daten richtig einsammeln können?

Viele Grüße
Hendrik

Hallo Holger,

Hm, ich glaube nicht, dass das ein „Fehler“ ist. So wie ich das gelesen habe, darf ein Punkt einfach nicht verwendet werden, genausowenig wie ein Leerzeichen oder ähnliches. Man kann zwar Benutzer mit Punkt im Namen mit der Option --force-badname anlegen, aber die globale Funktionalität ist futsch.

Hendrik, ich würde eher jetzt als später die Benutzernamen umstellen. Dafür gibts glaube ich eine ungetestete Variante, bei der man nicht neu erstellen und Daten kopieren muss, schau mal hier im Forum.

LG
Max

Hallo Max,

prinzipiell stimme ich der Umstellung ja auch zu, aber die Schule hat schon eine Nextcloud mit allen Abhängigkeiten (u.a. LDAP) am laufen. Wenn ich jetzt den Benutzername umstelle, müssen die vieles neu machen.

Außerdem muss es nur korrekt “escaped” werden, damit es funktioniert ;-)…

Viele Grüße
Hendrik

Hallo Hendrik,

es ist echt weniger Aufwand jetzt umzustellen anstatt in in Probleme zu laufen.

Du kannst auch im ersten Schritt zuätzliche Accounts anlegen,
dann können die User selber ihre Daten umziehen.

Danach erst entfernst du die accounts mit den dots.

Es gibt immer mal wieder tools (chown) oder distros, die keine dots zulassen.

LG, Rüdiger

Hallo Hendrik,

es ist echt weniger Aufwand jetzt umzustellen anstatt in in Probleme zu
laufen.

ich denke, das ist die wichtige INformation.
Jetzt weißt du, wo es dich kneift: beim Einsammeln.
Aber wer weiß, welche Monster da noch im Keller schlummern … und dann
kneift es dich in einem Jahr, oder bei der Migration auf die lmn 7 oder
bei Proxyauth in der lmn 7 … wer weiß.
Ich würde auch umstellen empfehlen.

LG

Holger

ps: ach, falscher thread, muss nach lm7!