WebUI-Fehler im Lehrer- und Schüler-Menupunkt nach Erstkonfiguration

Hallo,

ich habe die Erstkonfiguration der aktuellsten lm-Installation nach Anleitung durchgeführt. Im Schritt „Benutzeraufnahme mit der Schulkonsole“ beim Klicken auf den Menupunkt Schüler oder Lehrer kommt es zu massenweisen Fehlermeldungen in der Browserconsole. Nur durch Zurückgehen auf die Hauptseite komme ich überhaupt wieder in die Lage den Fehler in der Console zu analysieren.

Sieht nach einem ajenti-Python-Problem aus. Kennt jemand das Problem und hat ggf eine Lösung?

Danke vorab und Grüße,
Frank

Hallo Frank,

Gibt es evtl eine Fehlermeldung in /var/log/ajenti/ajenti.log ?

Gruß

Arnaud

Hallo Arnaud,

folgendes steht im ajenti.log:

2021-11-26 14:05:37,309 INFO    : Loading config from /etc/ajenti/config.yml
2021-11-26 14:05:37,312 INFO    : Ajenti Core 2.1.36
2021-11-26 14:05:37,313 INFO    : Master PID - 781
2021-11-26 14:05:37,313 INFO    : Detected platform: debian / Ubuntu 18.04.5 LTS
2021-11-26 14:05:37,313 INFO    : Python version: 3.6.9
2021-11-26 14:05:37,395 INFO    : Discovered 22 plugins
2021-11-26 14:05:37,656 INFO    : lmn_landing.__init__.py: lmn_landing loaded
2021-11-26 14:05:37,661 INFO    : Loaded 22 plugins
2021-11-26 14:05:37,661 INFO    : Binding to [0.0.0.0]:443
2021-11-26 14:05:37,668 INFO    : SSL enabled
2021-11-26 14:05:37,674 INFO    : New worker "restricted session" PID 823, EUID 0, EGID 0
2021-11-26 14:05:37,674 INFO    : Worker 823 is demoting to UID 65534 / GID 65534...
2021-11-26 14:05:37,675 INFO    : ...done, new EUID 65534 EGID 65534
2021-11-26 14:13:12,920 INFO    : Opening a session for user global-admin
2021-11-26 14:13:12,920 INFO    : Opening a new worker gate for session 1, client 10.0.0.10
2021-11-26 14:13:12,923 INFO    : New worker "session 1" PID 1269, EUID 0, EGID 0
2021-11-26 14:13:12,924 INFO    : Authenticating session as global-admin
2021-11-26 14:13:14,067 WARNING : URL not found: /favicon.ico
2021-11-26 14:13:50,193 WARNING : Error retrieving userconfig from global-admin, value: b'---'. This will be overwritten
2021-11-26 14:14:22,826 ERROR   : Unhandled endpoint error at /api/lm/quotas
2021-11-26 14:14:34,229 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/devices.csv : ascii, but using utf-8
2021-11-26 14:14:34,232 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/devices.csv : ascii, but using utf-8
2021-11-26 14:14:40,558 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/devices.csv : ascii, but using utf-8
2021-11-26 14:14:40,561 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/devices.csv : ascii, but using utf-8
2021-11-26 14:14:44,256 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/students.csv : ascii, but using utf-8
2021-11-26 14:14:44,257 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/students.csv : ascii, but using utf-8
2021-11-26 14:16:50,700 WARNING : URL not found: /resources/angular-touch.min.js.map
2021-11-26 14:17:32,698 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/students.csv : ascii, but using utf-8
2021-11-26 14:17:32,698 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/students.csv : ascii, but using utf-8
2021-11-26 14:17:34,999 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/devices.csv : ascii, but using utf-8
2021-11-26 14:17:35,002 INFO    : Detected encoding for /etc/linuxmuster/sophomorix/default-school/devices.csv : ascii, but using utf-8
2021-11-26 14:19:37,718 WARNING : URL not found: /resources/angular-touch.min.js.map
2021-11-26 14:26:07,891 WARNING : URL not found: /favicon.ico
2021-11-26 14:26:14,937 WARNING : URL not found: /resources/angular-touch.min.js.map
2021-11-26 14:50:22,082 WARNING : URL not found: /favicon.ico
2021-11-26 14:52:53,987 INFO    : Process 781 exiting normally

Gruß,
Frank

Hallo Frank,

Ok. Es wäre gut zu überprüfen, ob alles bei den Quotas aussieht :

sophomorix-query --sam global-admin --user-full --quota-usage -jj

oder ob eine Fehlermeldung auftaucht.

Gruß

Arnaud

root@server:/var/log/samba/cores/smbd# sophomorix-query --sam global-admin --user-full --quota-usage -jj
OK: SophomorixSchemaVersion 1 matches required Version 1
# JSON-begin
{"USER":{"global-admin":{"sophomorixComment":"created by linuxmuster-setup","sophomorixIntrinsicMulti2":[],"sophomorixAdminClass":"global-admins","sophomorixCustom4":null,"sophomorixUserToken":"---","sophomorixIntrinsicMulti3":[],"sophomorixIntrinsicMulti5":[],"sophomorixCustomMulti2":[],"mail":"global-admin@ftltestschule.lan","userAccountControl":"66048","sophomorixIntrinsicMulti1":[],"memberOf":["CN=role-globaladministrator,OU=Groups,OU=GLOBAL,DC=ftltestschule,DC=lan","CN=global-admins,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan","CN=all-internet,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan","CN=all-wifi,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan","CN=all-webfilter,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan","CN=all-intranet,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan","CN=all-printing,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan"],"sophomorixMailQuotaCalculated":"1","sophomorixBirthdate":"---","sophomorixSurnameInitial":"A.","sAMAccountName":"global-admin","sophomorixCustom2":null,"sophomorixCustom1":null,"sophomorixIntrinsic4":null,"sophomorixFirstnameInitial":"G.","sophomorixMailQuota":"---:---:","displayName":"Global Admin","DN":"CN=global-admin,OU=Management,OU=GLOBAL,DC=ftltestschule,DC=lan","sophomorixCustom5":null,"sophomorixCustomMulti4":[],"sophomorixFirstPassword":"---","sophomorixIntrinsic3":null,"sophomorixSurnameASCII":"Admin","sophomorixCustomMulti5":[],"sophomorixQuota":["linuxmuster-global:---:---:new:---:"],"sophomorixFirstnameASCII":"Global","sophomorixRole":"globaladministrator","sophomorixAdminFile":"none","sophomorixIntrinsic2":"management/global-admin","sophomorixIntrinsic5":null,"sophomorixCustomMulti1":[],"sophomorixExamMode":"---","sophomorixCloudQuotaCalculated":"---","sophomorixDeactivationDate":"19700101000000.0Z","sophomorixCustom3":null,"givenName":"Global","sophomorixIntrinsic1":null,"sophomorixWebuiPermissionsCalculated":["lm:devices: true","lm:devices:import: true","sidebar:view:/view/lm/devices: true","lm:linbo:configs: true","lm:linbo:examples: true","lm:linbo:icons: true","lm:linbo:images: true","lm:printers: true","lm:quotas:apply: true","lm:quotas:configure: true","lm:quotas:ldap-search: true","lm:rooms:apply: true","lm:rooms:configure: true","lm:settings: true","lm:users:apply: true","lm:users:check: true","lm:users:extra-courses:read: true","lm:users:extra-courses:write: true","lm:users:extra-students:read: true","lm:users:extra-students:write: true","lm:users:passwords: true","lm:users:students:read: true","lm:users:schooladmins:read: true","lm:users:globaladmins:read: true","lm:users:students:write: true","lm:users:teachers:read: true","lm:users:teachers:list: true","lm:users:teachers:write: true","lm:workstations: true","lm:workstations:import: true","sidebar:view:/view/auth-users: false","sidebar:view:/view/dashboard: true","sidebar:view:/view/lmn/landingpage: true","sidebar:view:/view/lm/linbo: true","sidebar:view:/view/lm/printers: true","sidebar:view:/view/lm/quotas: true","sidebar:view:/view/lm/room-defaults: true","sidebar:view:/view/lm/settings: true","sidebar:view:/view/lm/users/extra-students: true","sidebar:view:/view/lm/users/print-passwords: true","sidebar:view:/view/lm/users/students: true","sidebar:view:/view/lm/users/teachers: true","sidebar:view:/view/lm/users/teachers-list: true","sidebar:view:/view/lm/users/students-list: true","sidebar:view:/view/lm/users/extra-courses: true","sidebar:view:/view/lm/users/globaladmins: true","sidebar:view:/view/lm/users/schooladmins: true","sidebar:view:/view/lm/users/listmanagement: true","sidebar:view:/view/lm/schoolsettings: true","sidebar:view:/view/lm/globalsettings: true","lm:schoolsettings: true","sidebar:view:/view/lm/workstations: true","sidebar:view:/view/lmn/session: false","sidebar:view:/view/network: true","sidebar:view:/view/plugins: false","sidebar:view:/view/settings: false","core:config:read: true","core:config:write: true","filesystem:read: true","filesystem:write: true","network:configure: true","network:updown: true","lm:users:globaladmins:create: true","lm:users:schooladmins:create: true","lm:users:globaladmins:delete: true","lm:users:schooladmins:delete: true","lmn:groupmembership: true","lmn:groupmemberships:write: true","sidebar:view:/view/lmn/groupmemberships:write: true","sidebar:view:/view/lmn/groupmembership: true","sidebar:view:/view/ni/support: true","sidebar:view:/view/ni/nextcloud: true"],"sophomorixExitAdminClass":"unknown","sophomorixCreationDate":"20211126132314.0Z","sn":"Admin","sophomorixTolerationDate":"19700101000000.0Z","sophomorixIntrinsicMulti4":[],"sophomorixCustomMulti3":[],"sophomorixUnid":"---","QUOTA_USAGE_BY_SHARE":{"linuxmuster-global":{"FULL_USER":"FTLTESTSCHULE\\global-admin    ","SOFT_LIMIT_MiB":"NO LIMIT","USED_MiB":0,"USED":"0","SOFT_LIMIT":"NO LIMIT","HARD_LIMIT_MiB":"NO LIMIT","HARD_LIMIT":"NO LIMIT"}},"sophomorixStatus":"P","sophomorixSchoolname":"global"}},"LISTS":{"COMPUTER":[],"GROUP":[],"USER":["global-admin"],"ROOM":[]},"COUNTERS":{"GROUP":0,"COMPUTER":0,"USER":1,"ALL":1,"ROOM":0}}# JSON-end

Das Problem an den --- die da auftauchen.
Ich werde nach dem Unterricht schauen wie wir das Debuggen können, ich glaube aber, dass die Quotas nicht richtig konfiguriert sind.
Auf jedem Fall sollte die Webui ein Test dafür machen, wenn es wirklich der Fall ist.

Gruß

Arnaud

Hallo Arnaud,

ok, aber die drei Bindestriche tauchen an mehreren Stellen im JSON bzw. in den samba-Eigenschaften des global-admin auf. Zu den quotas ist mir noch folgendes aufgefallen: In der WebUI gibt es noch den Menupunkt Extraquota. Wenn man diesen klickt, kommt es auch zu Fehlern mit sophomorix und quotas:

Server error occured. This is likely a bug. 

**GET** /api/lm/quotas

Exception 

getSophomorix Value error. Either sophomorix field does not exist or ajenti binduser does not have sufficient permissions: Error Message: 'NONDEFAULT_QUOTA/default-school/USER' Dictionary we looked for information: {'NONDEFAULT_QUOTA': {'default-school': {'CLASS': {}}}, 'LISTS': {'GROUPS_by_SCHOOL': {}, 'MAILLISTS_by_SCHOOL': {}, 'USER_by_SHARE': {}, 'CLASS_by_SHARE': {'default-school': ['teachers'], 'linuxmuster-global': ['teachers']}, 'USER_by_SCHOOL': {}, 'CLASS_by_SCHOOL': {'default-school': ['teachers']}, 'GROUPS_by_SHARE': {}}, 'JSONINFO': 'QUOTA', 'JSONCOMMENT': 'sophomorix quota', 'QUOTA': {'LOOKUP': {'CLASS': {'DN_by_sAMAccountName': {'teachers': 'CN=teachers,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=ftltestschule,DC=lan'}, 'sAMAccountName_by_DN': {'CN=teachers,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=ftltestschule,DC=lan': 'teachers'}}, 'USER': {'sAMAccountName_by_DN': {}}}, 'CLASSES': {'teachers': {'sophomorixType': 'teacherclass', 'sophomorixMailAlias': 'FALSE', 'sophomorixSchoolname': 'default-school', 'sophomorixMailList': 'FALSE', 'sophomorixQuota': {'linuxmuster-global': {'COMMENT': '---', 'VALUE': '---'}, 'default-school': {'VALUE': '---', 'COMMENT': '---'}}, 'sophomorixMailQuota': {'COMMENT': '---', 'VALUE': '---'}, 'mail': 'teachers@ftltestschule.lan'}}, 'UPDATE_COUNTER': {'USERS': 0, 'USERMAILQUOTA': 0, 'SHARES': 0}, 'USERS': {}}} 

Traceback (most recent call last):
  File "/usr/lib/linuxmuster-webui/plugins/lmn_common/api.py", line 181, in lmn_getSophomorixValue
    resultString = dpath.util.get(jsonDict, jsonpath)
  File "/usr/local/lib/python3.6/dist-packages/dpath/util.py", line 109, in get
    raise KeyError(glob)
KeyError: 'NONDEFAULT_QUOTA/default-school/USER'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/aj/api/endpoint.py", line 71, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_quotas/views.py", line 51, in handle_api_quotas
    result = lmn_getSophomorixValue(sophomorixCommand, 'NONDEFAULT_QUOTA/' + school + '/USER')
  File "/usr/lib/linuxmuster-webui/plugins/lmn_common/api.py", line 184, in lmn_getSophomorixValue
    'Error Message: ' + str(e) + '\n Dictionary we looked for information:\n' + str(jsonDict))
Exception: getSophomorix Value error. Either sophomorix field does not exist or ajenti binduser does not have sufficient permissions:
Error Message: 'NONDEFAULT_QUOTA/default-school/USER'
 Dictionary we looked for information:
{'NONDEFAULT_QUOTA': {'default-school': {'CLASS': {}}}, 'LISTS': {'GROUPS_by_SCHOOL': {}, 'MAILLISTS_by_SCHOOL': {}, 'USER_by_SHARE': {}, 'CLASS_by_SHARE': {'default-school': ['teachers'], 'linuxmuster-global': ['teachers']}, 'USER_by_SCHOOL': {}, 'CLASS_by_SCHOOL': {'default-school': ['teachers']}, 'GROUPS_by_SHARE': {}}, 'JSONINFO': 'QUOTA', 'JSONCOMMENT': 'sophomorix quota', 'QUOTA': {'LOOKUP': {'CLASS': {'DN_by_sAMAccountName': {'teachers': 'CN=teachers,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=ftltestschule,DC=lan'}, 'sAMAccountName_by_DN': {'CN=teachers,OU=Teachers,OU=default-school,OU=SCHOOLS,DC=ftltestschule,DC=lan': 'teachers'}}, 'USER': {'sAMAccountName_by_DN': {}}}, 'CLASSES': {'teachers': {'sophomorixType': 'teacherclass', 'sophomorixMailAlias': 'FALSE', 'sophomorixSchoolname': 'default-school', 'sophomorixMailList': 'FALSE', 'sophomorixQuota': {'linuxmuster-global': {'COMMENT': '---', 'VALUE': '---'}, 'default-school': {'VALUE': '---', 'COMMENT': '---'}}, 'sophomorixMailQuota': {'COMMENT': '---', 'VALUE': '---'}, 'mail': 'teachers@ftltestschule.lan'}}, 'UPDATE_COUNTER': {'USERS': 0, 'USERMAILQUOTA': 0, 'SHARES': 0}, 'USERS': {}}}

Ggf. hilft uns das weiter?

Danke schon mal und Gruß,
Frank

Hallo Frank,

Probier bitte mal die Quotas mit sophomorix-quota upzudaten. Vielleicht sind sie einfach nicht gesetzt, und deswegen können einige Plugins in die Webui nicht funktionieren.

Gruß

Arnaud

Hallo Arnaud,

folgende Ausschrift kommt bei sophomorix-quota (er findet nicht mal den global-admin als User):

root@server:~# sophomorix-quota
Command line::
Option verbose is a modifier option
Hmmh. do not know what to do with option info
Option json 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 user found in AD                                                       ####
#### 1 sophomorix adminclasses found in AD                                    ####
#### 0 sophomorix projects/sophomorix-groups found in AD                      ####
#### Setting Quota/MailQuota of the following users:                          ####
#### Setting Quota/MailQuota for school default-school:                       ####
     0 sophomorix users in school default-school
#### 0 ERRORS, 0 WARNINGS -> let's go                                         ####
#### Creating lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### /usr/sbin/sophomorix-quota started ...                                   ####
#### Removing lock in /var/lib/sophomorix/lock/sophomorix.lock                ####
#### /usr/sbin/sophomorix-quota terminated regularly                          ####
Calling console printout
LOG       : /usr/sbin/sophomorix-quota terminated regularly
     0 users mailquota updated
     0 users smbcquota updated

Somit bringt er beim command

sophomorix-quota --user global-admin

auch nur

WARNING: User global-admin not found!

Gruß,
Frank

Hallo Frank,

Das klingt mehr an einer Installationsproblem als an einem Bug mit der Webui.
Hast du die Erstkonfiguration mit der Webui oder per Cli gemacht ?
Gab es dabei eine Fehlermeldung ?

Gruß

Arnaud

Hallo Arnaud,

per Webui und dort kamen keine Fehler hoch. Wo liegt das Log der initialen Konfig, damit ich es nochmal dort prüfen kann?

Gruß,
Frank

Hallo Frank,

Es liegt in /tmp/linuxmuster-setup.log, aber wenn der Server neu gestartet hat, ist es dann weg. Ich kann mich errinern, dass es schon mal passiert ist ( kein global-admin ) aber ich habe vergessen warum. Vielleicht wissen die andere noch.

Gruß

Arnaud

Hallo Arnaud,

unter /tmp liegt, wie befürchtet, nichts mehr.

Den global-Admin sehe ich als User mittels Apache Directory Studio, auch Anmelden in der Webui klappt mit diesem User. Hab mich auch schon als root angemeldet, aber auch dort kommt der gleiche WebuiFehler hoch, wenn ich auf Schüler oder Lehrer klicke.

Soll ich meine VM-Backups nochmal restoren und die Erstkonfig durchführen?

Gruß,
Frank

Hallo Frank,

lege über die Listenverwaltung einen Schüler und einen Lehrer an.
Dann erst unter Benutzerverwaltung auf Schüler/Lehrer klicken.

Viel Erfolg
Christian

Hallo Christian,

manchmal kann es so einfach sein :wink:
Danke euch, das war die Lösung.

Gruß,
Frank