Sophomorix Fehlermeldungen

Hallo,
wir haben an unserer Schule nach einer frischen lmn7 installation einige Fehler im WebUI.
Nach jedem Login (außer global-admin) werden wir von einer Fehlermeldung begrüßt:


Der Fehler:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/aj/api/endpoint.py", line 71, in wrapper
    status = 200
  File "/usr/lib/linuxmuster-webui/plugins/lmn_landingpage/views.py", line 23, in handle_api_quota
    return lmn_getSophomorixValue(sophomorixCommand, jsonpath)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_common/api.py", line 167, in lmn_getSophomorixValue
    output = output.split('# JSON-begin')[1]
IndexError: list index out of range

Die Fehler erscheinen auf allen Seiten und immer ist es ein IndexError: list index out of range.
Der Befehl sophomorix-query --sam sfrei --user-full --quota-usage -jj liefert folgende Ausgabe:

OK: SophomorixSchemaVersion 1 matches required Version 1

Use of uninitialized value $full_user in substitution (s///) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6033.

Use of uninitialized value $full_user in split at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6034.

Use of uninitialized value $full_user in pattern match (m//) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6043.

Use of uninitialized value $quota_data in substitution (s///) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6055.

Use of uninitialized value $quota_data in split at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6056.

Use of uninitialized value $used in multiplication (*) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6058.

Use of uninitialized value $soft_limit in string eq at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6060.

Use of uninitialized value $soft_limit in multiplication (*) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6064.

Use of uninitialized value $hard_limit in string eq at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6067.

Use of uninitialized value $hard_limit in multiplication (*) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6071.

Use of uninitialized value $full_user in substitution (s///) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6033.

Use of uninitialized value $full_user in split at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6034.

Use of uninitialized value $full_user in pattern match (m//) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6043.

Use of uninitialized value $quota_data in substitution (s///) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6055.

Use of uninitialized value $quota_data in split at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6056.

Use of uninitialized value $used in multiplication (*) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6058.

Use of uninitialized value $soft_limit in string eq at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6060.

Use of uninitialized value $soft_limit in multiplication (*) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6064.

Use of uninitialized value $hard_limit in string eq at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6067.

Use of uninitialized value $hard_limit in multiplication (*) at /usr/share/perl5/Sophomorix/SophomorixBase.pm line 6071.

# JSON-begin

{"LISTS":{"ROOM":[],"COMPUTER":[],"USER":["sfrei"],"GROUP":[]},"USER":{"sfrei":{"sophomorixCustom2":null,"sophomorixComment":"created by sophomorix","sophomorixFirstnameASCII":"Sebastian","sophomorixCustomMulti5":[],"sophomorixIntrinsic2":"teachers/sfrei","sophomorixWebuiPermissionsCalculated":["core:config:read: true","core:config:write: true","filesystem:read: false","filesystem:write: true","lm:schoolsettings: false","lm:users:apply: false","lm:users:check: false","lm:users:extra-courses:read: false","lm:users:extra-students:read: false","lm:users:passwords: true","lm:users:students:read: true","lm:users:students:write: true","lm:users:teachers:list: true","lm:users:teachers:read: false","lm:users:teachers:write: false","lmn:groupmembership: true","lmn:groupmemberships:write: true","lmn:session:trans: true","sidebar:view:/view/dashboard: false","sidebar:view:/view/lm/users/listmanagement: false","sidebar:view:/view/lm/users/print-passwords: true","sidebar:view:/view/lm/users/students-list: false","sidebar:view:/view/lm/users/students: false","sidebar:view:/view/lm/users/teachers-list: false","sidebar:view:/view/lm/users/teachers: false","sidebar:view:/view/lmn/groupmembership: true","sidebar:view:/view/lmn/landingpage: true","sidebar:view:/view/lmn/session: true","sidebar:view:/view/ni/nextcloud: true","sidebar:view:/view/ni/session: true","sidebar:view:/view/ni/websession: true"],"sophomorixDeactivationDate":"19700101000000.0Z","sophomorixCustomMulti3":[],"sophomorixMailQuota":"---:---:","QUOTA*USAGE*BY*SHARE":{"default-school":{"HARD*LIMIT*MiB":0,"HARD*LIMIT":null,"SOFT*LIMIT*MiB":0,"SOFT*LIMIT":null,"USED":null,"USED*MiB":0,"FULL*USER":null},"linuxmuster-global":{"FULL*USER":null,"USED":null,"USED*MiB":0,"SOFT*LIMIT":null,"HARD*LIMIT*MiB":0,"HARD*LIMIT":null,"SOFT*LIMIT_MiB":0}},"sophomorixIntrinsicMulti1":[],"sophomorixTolerationDate":"19700101000000.0Z","DN":"CN=sfrei,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local","mail":"sfrei@johanneum.local","sophomorixCloudQuotaCalculated":"2506 MB","sophomorixAdminClass":"teachers","givenName":"Sebastian","sophomorixExitAdminClass":"attic","sophomorixIntrinsic5":null,"sophomorixIntrinsicMulti2":[],"sophomorixCustom3":null,"sophomorixAdminFile":"teachers.csv","sophomorixCustom4":null,"sAMAccountName":"sfrei","sophomorixQuota":["linuxmuster-global:---:---:new:---:","default-school:---:---:new:---:"],"userAccountControl":"66048","sophomorixStatus":"A","sophomorixCreationDate":"20210920133545.0Z","sophomorixBirthdate":"01.01.1980","sn":"Frei","sophomorixCustomMulti2":[],"displayName":"Sebastian Frei","sophomorixIntrinsicMulti4":[],"sophomorixCustomMulti1":[],"sophomorixSurnameASCII":"Frei","sophomorixMailQuotaCalculated":"306","sophomorixIntrinsicMulti5":[],"sophomorixIntrinsic3":null,"sophomorixCustomMulti4":[],"memberOf":["CN=internet,OU=Management,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local","CN=webfilter,OU=Management,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local","CN=intranet,OU=Management,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local","CN=printing,OU=Management,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local","CN=teachers,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local","CN=role-teacher,OU=Groups,OU=GLOBAL,DC=johanneum,DC=local","CN=wifi,OU=Management,OU=default-school,OU=SCHOOLS,DC=johanneum,DC=local"],"sophomorixIntrinsic1":null,"sophomorixCustom5":null,"sophomorixSurnameInitial":"F.","sophomorixCustom1":null,"sophomorixFirstnameInitial":"S.","sophomorixExamMode":"---","sophomorixFirstPassword":"Test12345","sophomorixIntrinsicMulti3":[],"sophomorixRole":"teacher","sophomorixUnid":"---","sophomorixSchoolname":"default-school","sophomorixIntrinsic4":null,"sophomorixUserToken":"---"}},"COUNTERS":{"GROUP":0,"ROOM":0,"ALL":1,"COMPUTER":0,"USER":1}}# JSON-end

Installierte Versionen:
linuxmuster-base7 7.0.82-0ubuntu0
linuxmuster-prepare 0.7.6-1ubuntu0
linuxmuster-webui7 1.0.156-1
sophomorix-samba 3.80.0-1

Habt ihr eine Idee an was das liegen kann?

Grüße

Hallo Bastian,

und herzlich Wilkommen bei uns :slight_smile:
Ich hab mal den sophomorix Entwickler drauf angestuppst :slight_smile:
LG

Holger

1 „Gefällt mir“

Ich vermute dass der Fehler daher kommt, dass dein smb share der Schule keine Quota angaben zulässt:

schau doch mal mit

mount | grep srv/samba

ob bei den beiden shares (default-school und global) die Quotaoptionen eingeschaltet sind.

LG, Rüdiger

Hallo jeffbeck,
die Ausgabe von mount | grep srv/samba ist:

/dev/mapper/vg_server-default--school on /srv/samba/schools/default-school type ext4 (rw,relatime,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)

/dev/mapper/vg_server-global on /srv/samba/global type ext4 (rw,relatime,data=ordered,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)

OK, das passt.
Sind den die Quotadateien vorhanden und richtig initialisiert worden?
(Sollte imho der setup automatisch machen)

Dann sollte
ls -l /srv/samba/schools/default-school/

aquota.user
aquota.group

zeigen.

Das Setup lief ohne Probleme durch.

system@mainsrv:~$ ls -l /srv/samba/schools/default-school/
total 92
-rw-------   1 root    root   6144 Sep 29 15:42 aquota.group
-rw-------   1 root    root   9216 Sep 29 15:42 aquota.user
drwxrwx---+  2 3000004 users  4096 Aug 11 09:13 examusers
drwxrwx---+  2 3000004 users  4096 Aug 11 09:13 iso
drwx------   2 root    root  16384 Jul 21 15:14 lost+found
drwxrwx---+  3 3000004 users  4096 Aug 11 09:14 management
drwxrwx---+  2 3000004 users  4096 Aug 11 09:13 program
drwxrwx---+  7 3000004 users  4096 Aug 11 09:13 share
drwxrwx---+ 44 3000004 users  4096 Sep 21 16:44 students
drwxrwx---+ 82 3000004 users  4096 Sep 27 14:05 teachers

Passt auch.
Gibt

repquota -au

was sinnvolles aus (lange Liste, keine Fehler)

*** Report for user quotas on device /dev/mapper/ubuntu--vg-ubuntu--lv
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 5488992       0       0         167868     0     0       
daemon    --      64       0       0              4     0     0       
man       --    1264       0       0            141     0     0       
systemd-network --      12       0       0              3     0     0       
syslog    --     224       0       0              5     0     0       
_apt      --      24       0       0              4     0     0       
lxd       --       4       0       0              1     0     0       
dnsmasq   --       4       0       0              1     0     0       
landscape --       8       0       0              3     0     0       
pollinate --       4       0       0              2     0     0       
drwxrwx---+ 82 3000004 users  4096 Sep 27 14:05 teachers
freerad   --    1356       0       0            273     0     0       
#62583    --       4       0       0              2     0     0       
*** Report for user quotas on device /dev/mapper/vg_server-default--school
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      24       0       0              2     0     0       
#3000000  -- 2868024       0       0           2880     0     0       
#3000004  --     128       0       0             16     0     0       
*** Report for user quotas on device /dev/mapper/vg_server-global
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      28       0       0              3     0     0       
#3000000  --      32       0       0              4     0     0       
#3000004  --       8       0       0              1     0     0       
#3000002  --      80       0       0             10     0     0

Hallo Bastian!
Überprüfe mal bitte ob das Paket sophomorix-samba bei dir installiert ist. Da gab es vor längerem schon mal das Problem, dass es fehlte und zu diesem Fehler führt. Siehe: Update Webui 1.0.145

Viele Grüße
Micha

Hallo Michael,
sophomorix-samba ist in der Version 3.80.0-1 installiert

Dann ruf mal (am besten NACH dem Unterricht, macht evtl. viel Last auf dem samba server)
sophomorix-quota
auf. Vielleicht sind die Quota noch nicht gesetz.

LG, Rüdiger

Ein Rechte Problem?
Nur ein kleiner Ausschnitt aber die restlichen 900 sehen ähnlich aus:

  * OK:  sophomorixCloudQuotaCalculated
   * Share-/Cloudquota of user abouasme:
  * SET: default-school to 1506 MiB:
cli_full_connection failed! (NT_STATUS_ACCESS_DENIED)
ERROR: /usr/bin/smbcquotas -mNT1 --debuglevel=0 -U administrator%'***' -S UQLIM:abouasme:1263324160/1579155456 //mainsrv/default-school
 RETURN VALUE: 256
 ERROR MESSAGE:


  * SET: linuxmuster-global to 1006 MiB:
cli_full_connection failed! (NT_STATUS_ACCESS_DENIED)
ERROR: /usr/bin/smbcquotas -mNT1 --debuglevel=0 -U administrator%'***' -S UQLIM:abouasme:843893760/1054867456 //mainsrv/linuxmuster-global
 RETURN VALUE: 256
 ERROR MESSAGE:


  * OK:  sophomorixCloudQuotaCalculated
   * Share-/Cloudquota of user aburg:
  * SET: default-school to 2506 MiB:
cli_full_connection failed! (NT_STATUS_ACCESS_DENIED)
ERROR: /usr/bin/smbcquotas -mNT1 --debuglevel=0 -U administrator%'***' -S UQLIM:aburg:2102184960/2627731456 //mainsrv/default-school
 RETURN VALUE: 256
 ERROR MESSAGE:


  * SET: linuxmuster-global to 2006 MiB:
cli_full_connection failed! (NT_STATUS_ACCESS_DENIED)
ERROR: /usr/bin/smbcquotas -mNT1 --debuglevel=0 -U administrator%'***' -S UQLIM:aburg:1682754560/2103443456 //mainsrv/linuxmuster-global
 RETURN VALUE: 256
 ERROR MESSAGE:

hast du überhaupt Zugriff aufs AD?

lauft sophomorix-check durch ohne Fehler?

Sophomorix-check läuft auch ohne Probleme durch.

Command line::
Hmmh. do not know what to do with option info
Option json is a modifier option
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 18.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: 1057 CHECKED in default-school, MATCH: 0, NOMATCH: 1057, NOunid: 0####
#### exactMATCH: 1057 CHECKED in default-school, MATCH: 1057, NOMATCH: 0      ####
#### approxMATCH: 0 CHECKED in default-school, MATCH: 0 (Edit distance: 1)    ####
#### ## School default-school ... Done!                                       ####
#### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### /usr/sbin/sophomorix-check terminated regularly                          ####
Calling console printout
LOG       : /usr/sbin/sophomorix-check terminated regularly                   
##### Overview of what can be done:
     0 users can be added in sophomorix.add                              
     0 users can be updated in sophomorix.update                         
     0 users can be killed in sophomorix.kill                            
  1057 users are not to be changed in sophomorix.nochange                
     0 users with errors in sophomorix.error

Windows Logins und Netzlaufwerke an den Clients funktionieren auch ohne Probleme. Was mir beim anlegen der Devices noch aufgefallen war, war das die „Speichern und Importieren“ Funktion immer einen Fehler lieferte. Ich musste dann auf „Speichern“ und linuxmuster-import-devices händig über ssh ausführen. Außerdem zeigt mir das Dashboard des Global-Admins folgendes:

Das sieht doch danach aus, als ob die Websession keine Rechte auf sophomorix hat oder?

Hallo Bastian,

Was ist genau die Fehlermeldung ? Git es evtl was in /var/log/ajenti/ajenti.log ?

Momentan eher nicht, für mich sieht es so aus, als der global-admin 0 als Quota hat. Was liefert sophomorix-user -u global-admin -ivv | grep Quota auf dem Server ?

Gruß

Arnaud

sophomorixMailQuota: ---:---:                                

 sophomorixMailQuotaCalculated: 1                                       

           sophomorixQuota: linuxmuster-global:---:---:new:---:     

sophomorixCloudQuotaCalculated: ---

Da sehe ich kein Problem. Interessant wäre evtl die Fehlermeldung beim Import alle Devices.

Was ist der Inhalt von /etc/sudoers.d/linuxmuster ?

In welche Gruppen sind die Lehrer ( kann man mit groups LEHRERLOGIN überprüfen ).

Gruß

Arnaud

Interessant wäre evtl die Fehlermeldung beim Import alle Devices.


Wie gesagt, wenn ich den Befehl per SSH ausführe läuft er normal durch.

Was ist der Inhalt von /etc/sudoers.d/linuxmuster ?

%JOHANNEUM\\role-student ALL=(ALL:ALL) NOPASSWD: /usr/sbin/sophomorix-passwd,/usr/sbin/sophomorix-query,/usr/sbin/sophomorix-user,/usr/sbin/sophomorix-session

%JOHANNEUM\\role-teacher ALL=(ALL:ALL) NOPASSWD:ALL

%JOHANNEUM\\role-globaladministrator ALL=(ALL:ALL) NOPASSWD:ALL

%JOHANNEUM\\role-schooladministrator ALL=(ALL:ALL) NOPASSWD:ALL

In welche Gruppen sind die Lehrer ( kann man mit groups LEHRERLOGIN überprüfen ).

jjaco : users JOHANNEUM+jjaco JOHANNEUM+role-teacher JOHANNEUM+teachers JOHANNEUM+s_default-school JOHANNEUM+schools JOHANNEUM+all-teachers JOHANNEUM+internet JOHANNEUM+all-internet JOHANNEUM+wifi JOHANNEUM+all-wifi JOHANNEUM+webfilter JOHANNEUM+all-webfilter JOHANNEUM+intranet JOHANNEUM+all-intranet JOHANNEUM+printing JOHANNEUM+all-printing JOHANNEUM+7eu JOHANNEUM+students JOHANNEUM+all-students BUILTIN+users

Gruß

Hallo,

Warum haben alle Gruppen ein „+“ anstatt ein „“ ? (netgroups ?)
Das sollte eigentlich nicht sein und könnte alle Probleme in die Webui erklären.
In die Sudoers-Datei wird gesucht nach Gruppen die die JOHANNEUM\role-teacher heißen. Mit JOHANNEUM+role-teacher wird es nicht klappen und die User können damit nicht sophomorix verwenden.

Vielleicht kannst du probieren ob den Eintrag

%JOHANNEUM+role-teacher ALL=(ALL:ALL) NOPASSWD:ALL

anstatt

%JOHANNEUM\\role-teacher ALL=(ALL:ALL) NOPASSWD:ALL

in /etc/sudoers.d/linuxmuster das Problem mit dem Quota als Lehrer löst ( das ist keine definitive Lösung, nur ein Test ).

Gruß

Arnaud

Wir nutzen WPA2 Enterprise und hatten ein Problem mit:

ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=DOMÄNE --require-membership-of=DOMÄNE\wifi --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}"

–require-membership-of=DOMÄNE\wifi das Backslash machte Probleme.

Testweise hatte ich dann den winbind seperator in der smb.conf auf „+“ gesetzt.

Vielleicht kannst du probieren ob den Eintrag

%JOHANNEUM+role-teacher ALL=(ALL:ALL) NOPASSWD:ALL

anstatt

%JOHANNEUM\\role-teacher ALL=(ALL:ALL) NOPASSWD:ALL

in /etc/sudoers.d/linuxmuster das Problem mit dem Quota als Lehrer löst ( das ist keine definitive Lösung, nur ein Test ).

Die Änderung behebt das Problem.