Hallo @Arnaud
seit dem Update auf 7.1 habe ich Probleme beim Austeilen. Hier die Fehlermeldung:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/aj/api/endpoint.py", line 75, in wrapper
result = fx(self, context, *args, **kwargs)
File "/usr/lib/linuxmuster-webui/plugins/lmn_common/views.py", line 64, in handle_api_create_dir
os.makedirs(filepath)
File "/usr/lib/python3.6/os.py", line 210, in makedirs
makedirs(head, mode, exist_ok)
File "/usr/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Keine Berechtigung: '/srv/webuiUpload/default-school/teacher'
Das Verzeichnis gibt es aber:
root@server:/srv# ls -la
[...]
drwxrwxrwx 3 root root 4096 Nov 22 2020 webuiUpload
root@server:/srv/webuiUpload# ls -la
drwxr-xr-x 3 root root 4096 Nov 22 2020 default-school
root@server:/srv/webuiUpload/default-school# ls -la
drwxrwxrwx 8 root root 4096 Nov 30 09:26 teachers
root@server:/srv/webuiUpload/default-school/teachers# ls -la
insgesamt 32
drwxrwxrwx 8 root root 4096 Nov 30 09:26 .
drwxr-xr-x 3 root root 4096 Nov 22 2020 ..
drwxrwxrwx 2 LMN\bi LMN\role-teacher 4096 Dez 10 10:50 bi
drwxrwxrwx 2 LMN\fue LMN\role-teacher 4096 Dez 8 14:22 fue
drwxrwxrwx 2 LMN\ne LMN\role-teacher 4096 Nov 30 09:26 ne
drwxrwxrwx 2 LMN\re LMN\role-teacher 4096 Nov 19 13:55 re
drwxrwxrwx 2 LMN\wb LMN\role-teacher 4096 Sep 13 12:12 wb
Fehlt bei „default school“ noch das w? Kann ich das einfach mit chmod 777 machen?
Der richtige Pfad lautet /srv/webuiUpload/default-school/teacher ohne ‚s‘, ich verstehe hier nicht warum du ein ‚s‘ hast.
Auf gar keinen Fall. Es gibt mehrere Rechten-Schicht mit Samba, und das kann nur Chaos bringen. Alle Verfahren mit chmod sind uralte Verfahren die man auf einem SambaServer vergessen sollte.
wir sind hier zwar im Thread zur 7.1, aber ich denke, der Pfad hat sich von der 7.0 zur 7.1 nicht geändert.
Bei meiner Installation der Version 7 im Sommer 2021 gab es genau mit diesem Ordner (Existenz und Rechte) Probleme, siehe Austeilen über WebUI funktioniert nicht: This is likely a bug
Damals war die Empfehlung, den Ordner teachers zu erzeugen und ihm die Rechte 777 zu geben. Dieser Vorgehen war bei einigen Anwendern notwendig.
Wie kann ich nun prüfen, ob es in den Rechte-Schichten des Samba Probleme gibt?
Das Austeilen und Einsammeln insbesondere von Ordnern (20 SuS, je ein Ordnder mit 10 kleinen Dateien) dauert bei mir sehr lange, etwa 6min.
Ist das normal und könnte das damit zusammenhängen?
Grüße
Sven @Moderatoren: falls das hier nicht reinpasst, bitte abspalten
Das war, nach meiner Erfahrung, keine Empfehlung, sondern die Beschreibung von jemanden der es so „gelöst“ hat. Dieses Verfahren sollte sich nicht verbreiten.
Ich war bis jetzt für die ACLs nicht zuständig, ich glaube @Till könnte vielleicht genauer antworten.
Jetzt haben alle User alle Rechte auf diesen Ordner. Ich glaube nicht, dass es wirklich problematisch wäre.
Ich glaube nicht, dass es daran liegt, aber wie ich es seit 2 Jahre sage, war ich bis jetzt nicht im SessionModul wirklich involviert.
Der Pfard wird mittels der Nutzer Role zusammengebaut. Entsprechend wird auch die ACL gebaut, hier im Beispiel wie zu sehen für die Gruppe role-teacher.
Die Empfehlung die Rechte 777 zu geben haben wir nie herausgegeben. Das kann man schon machen, funktioniert ist aber wie das Haus nicht abschließen.
DIe Geschwindigkeit ist generell langsam, das steht noch auf der Todo Liste. Es wird jede Datei einzeln seriell übertragen, das muss überarbeitet werden.
ich möchte, dass meine Installation keine „Mängel“ hat, ich will also mein falsches Vorgehen ausbessern: welche Rechte haben die Ordner in einer „ordentlichen“ Installation und welche ACLs haben sie?
Moin,
wir haben zwar derzeit kein Problem und ich hab auch keine Lösung, aber weil ich gerade aus Neugier mal nachgesehen haben: bei uns heisst der Ordner auch ..../teachers , also mit s und er hat die Rechte 777. Es ist die LML 7.0, installiert in den vergangenen Sommerferien und ich bin mir relativ (*) sicher, dass wir das nicht händisch so gesetzt haben.
ich wollte mal bei mir (ca. 2 Jahre alte LML 7.0 Installation) die Rechte prüfen und habe dabei festgestellt, dass es außer /srv/webuiUpload/ keine weiteren Verzeichnisse gibt. Liegt es daran, dass die KuK die Webui nicht zum Austeilen/Einsammeln benutzen oder muss ich da noch etwas nachinstallieren, wie z. B. auf git vorgeschlagen:
Heyho,
wissen tue ich es nicht aber vermuten: da bei uns dort nur eine Handvoll Lehrer Verzeichnisse hat, bei denen ich von den meisten weiss, dass sie den Klassenarbeitsmodus (und damit austeilen) schon verwendet haben, gehe ich davon aus, dass ein jeweiliges Unterzerzeichnisse in webuiUpload erstellt wird, wenn jemand das erste Mal etwas uploaded.Aber das müsstest Du ja ausprobieren können, einfach mal eine datei in der webui verteilen, indem du sie vorher über die webui uploadest – wenn das funktioniert und du danach ein Unterverzeichnis mit deinem Usernamen hast, hab ich recht
Zur Erklärung:
Beim Upload werden die Dateien auf den Server welcher die Webui beinhaltet hochgeladen. Dies ist dann entsprechend /srv/webuiUpload/$school/$role/$username. Von da wird per sophomorix-transfer die Datei in den transfer Ordner des Lehrer verschoben.
Der Ordner wird also nur angelegt wenn ein Kollege Daten über die Webui hochgeladen hat.
Es kann natürlich sein, dass manche alte Installation noch einen alten Ordner hat wo wir nicht den Pfad dynamisch über die Rolle konstruiert haben.
der Versuch hat zweierlei ans Tageslicht gebracht:
Offensichtlich nutzen die KuK die Möglichkeiten der Webui in diesem Bereich nicht (bin selbst nicht mehr aktiv an der Schule), denn sonst hätten sie
den Fehler bemerken müssen: Beim Versuch Dateien an alle Teilnehmer eines Kurses auszuteilen kommt ein Fenster, dass im Wesentlichen folgende Fehlermeldung enthält: PermissionError: [Errno 13] Keine Berechtigung: '/srv/webuiUpload/default-school'
Das Fenster lässt sich schließen und man kann mit „Datei hochladen“ fortfahren. Aber nach der Dateiauswahl kommt ein weiteres Fenster mit u. a. dieser Meldung: FileNotFoundError: [Errno 2] Datei oder Verzeichnis nicht gefunden: '/srv/webuiUpload/default-school/teachers/lawil/test1'
Auch dieses Fenster kann ich schließen, aber die folgende Upload-Statusanzeige bleibt und lässt sich nicht mehr abrechen. Man ist gezwungen, das Browserfenster zu schließen und die Webui neu zu starten.
Was kann ich tun, evtl. doch „/usr/lib/linuxmuster-webui/etc/create_webuiUploadFolder.sh“?
Hi Andreas,
ok, dass heisst eigentlich wird der Unterordner
/srv/webuiUpload/teacher
erst angelegt, wenn das erste mal ein Lehrer (-> Gruppe teacher) einen webui-upload macht ?
Und „früher“ war das „vielleicht“ mal anders ? So viel früher kann das nicht gewesen sein, unsere Installation ist gerade mal 8 Monate alt und bei uns heisst der Ordner noch „…/teachers“
Was ich mich dann aber frage, wenn „jetzt“ (also nach der Umstellung von 7.0 auf 7.1 ?) auch der Ordner „/srv/webuiUpload/teacher“ dynamisch erzeugt wird, dann müsste das ja einfach klaglos passieren und der „alte“ Ordner teachers müsste überflüssig werden (und in Zukunft selig vor sich hinschimmeln)…
Dieser Thread hat aber mit der Fehlermeldung begeonnen, dass beim Anlegen eines Ordners dafür die Berechtigungen fehlen…
PermissionError: [Errno 13] Keine Berechtigung: '/srv/webuiUpload/default-school/teacher'
…also ist da möglicherweis ein Bug drin. Der Ordner /srv/webuiUpload/default-school/ ist ja nur für root beschreibbar, hat die Webui die entsprechenden Rechte, wenn sie den Ordner „teacher“ anlegen will ?
Entschuldigt, wenn ich hier so penetrant reingrätsche, aber ich will auch auf Webui 7.1 umsteigen (weil schon linbo auf 7.1 hochgezogen) und da möchte ich mir nicht sehenden Auges Probleme einfangen.
Naja so ganz stimmt das wohl nicht. Der Ordner webuiUpload sollte durch das poistinstall der Webui angelegt werden. Das macht /usr/lib/linuxmuster-webui/etc/create_webuiUploadFolder.sh
Hierbei müssen natürlich auch die Rechte entsprechend der ntacl Datei gesetzt werden, also Lehrern hier schreibrechte geben.
Die Dateioperationen laufen im Kontext des angemeldeten Nutzers, deswegen gibt es hier warscheinlich ein Permission Denied.
Das müsste jetzt letzendlich Max machen, der hatte den Fehler gepostet…ich bin ja noch gar nicht umgezogen…aber ja, wenn ich mir das /usr/lib/linuxmuster-webui/etc/create_webuiUploadFolder.sh (auf git) ansehe dann müsste das den evtl. vorhandenen alten Ordner wegmachen und den neuen anlegen (mit anderen Rechten als vorher, siehe unten).
Das würde dafür sprechen, das bei Max das postinst ebendieses Skript nicht oder nicht richtig ausgeführt hat…ein beherztes händisches ausführen von /usr/lib/linuxmuster-webui/etc/create_webuiUploadFolder.sh
müsste da abhelfen, oder ?
Hi Wilfried,
wenn Du die 1.0.156-1 hast, dann gibt es bei Dir das Skript create_webui usw gar nicht. Außerdem sagt Deine Fehlermeldung, dass es nach einem Unterordner „teachers“ sucht, das genannte Skript würde aber sowieso nur eine Verzeichnis „teacher“ anlegen, und Dir nicht helfen…Flucht nach vorne wäre die neue Webui zu installieren und zu schauen, ob dabei alles „geradegezogen“ wird.
Wenn Du das nicht willst, würde ich mal schaeuen, ob Du srv/webuiUpload/default-school/teachers hast…wenn nicht, leg es an. Dann mach ein chmod 777 auf /srv/webuiUpload/default-school/teachers, dann sieht es so aus wie bei uns (gleiche linbo version) und bei uns funktionierts
Und sobald Du auf die aktuellere Version der webui umsteigst sollte dieses Skript (das du noch gar nicht hast) den webui-Ordner sowieso löschen und neu anlegen, dann sind alle dreckigen hacks beseitigt.
N’Abend,
ich habe jetzt auch mal das Upgrade gemacht und da ich vorgewarnt war, habe ich direkt nachgesehen…
…und der ursprüngliche Ordner /srv/webuiUpload/default-school/teachers ward unangetastet!
Dementsprechend habe ich auch den „permission denied“ Fehler beim austeilen bekommen. Nach einem händischen Aufruf von create_webuiUploadFolder.sh war der Ordner webuiUpload dann neu erstellt und leer. Nach dem ersten Austeilen gab es dann auch den Unterordner default-school/teacher. Kleiner Schönheitsfehler dabei - die beiden Ordner gehörten dem Lehreraccount, mit dem ich ausgeteilt habe – funktionierent tut es (auch für andere lehrer), aber root wäre da als besitzer sinnvoller.
Ich würde also diagnostizieren, dass der Aufruf von create_webuiUploadFolder.sh im postinst nicht stattfindet oder nicht funktioniert. Ich hätte gerne direkt im .deb nachgeschaut, aber unter /var/cache/apt/archives war das irgendwie nicht.
Wenn die fragliche postinst-Datei aber diejenige ist, die man hier auf github findet - da habe ich keinen (direkten) Aufruf des besagten Skripts finden können…
ich habe auch gerade ein update gemacht und das gleiche problem, war aber durch diesen thread vorbereitet.
Lass einmal das Skript /usr/lib/linuxmuster-webui/etc/create_webuiUploadFolder.sh
laufen, dann funktioniert das Austeilen wieder.