Passwörter ändern

Hallo,
Schüler können sich am Linuxmuster-Webfrontend nicht anmelden, daher können sie auch ihre Passwörter nicht ohne weiteres ändern.
Unter Linux können Schüler aber in einem Terminal (das natürlich auf ihren Nutzer laufen muss) ihr Passwort mit dem Befehl „passwd“ ändern.

Ich habe das testweise bei Schülern mal gemacht und festgestellt, dass man das Passwort nicht gleich nochmal ändern kann (minimum passwort age not expired). Setzt man das Passwort auf das Erstpasswort zurück, dann bleibt das auch so. Müstte das Zurücksetzen des Passwortes nicht auch bewirken, dass man das Passwort gleich wieder ändern kann? Wie kann ich das „passwort age“ zurücksetzen?

Als Tipp für andere: Ich habe einen Desktop-Starter angelegt, mit dem Schüler durch Klick ein Terminal mit dem Befehl passwd starten können.

Noch eine Frage: Gibt es eine einfache (Schülerverständliche) Erklärung für die Form der Passwörter? Die Menge an Sonderzeichen erschlägt einen etwas.

Hallo zusammen,
bei uns kommt bei passwd :
Server Meldung password change rejected. Stellt man das am Server irgendwie ein?
Oder liegt es daran, dass ich das krb5-Zeug rausgeworfen habe (siehe linuxclients-anmeldungs-domaenenproblem )
Nachtrag:
Als Lehrer geht es, dann ist es wohl eine Servereinstellung.
Gruß Tha

Hallo Johannes,

du kannst die Nutzer ihre Passwörter in der WebUI ändern lassen.

Dazu mußt du für die Schüler die WebUI freischalten.
Das geht so:

in der Datei auf dem server:
/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py

Die Zeile 28 in der genannten Datei muss dann so heißen:

searchFilter
="(&(cn=%s)(objectClass=user)(|(sophomorixRole=globaladministrator)(sophomorixRo
le=teacher)(sophomorixRole=schooladministrator)(sophomorixRole=student)
))" %
username

d.h. es muss eben (sophomorixRole=student) eingefügt werden…

Schüler bekommen ach Anmeldung ihre
Quotas angezeigt und können ihr Passwort ändern…mehr nicht!

Willst du NUtzerpasswörter am Server ändern, so geht das so

sophomorix-passwd -u nutzername --passwd=geheim

LG

Holger

Hallo Holger,
Ok, funktioniert.
Wieso geht es denn nicht vom Clienten aus, bei den Lehrern geht das doch auch, dass muss doch beim Server in der Rolle festgelegt sein?

Viele Grüße
Johannes

Hallo Johannes,

Wieso geht es denn nicht vom Clienten aus, bei den Lehrern geht das doch
auch, dass muss doch beim Server in der Rolle festgelegt sein?

wäre mir nciht bewußt, dass es bei den lehrern geht und bei den schülern
nicht.
Könnte also wirklich an deinem kerberos zeug liegen.
Ich werde das mal an meinem Cleint testen.

LG
HOlger

Hallo,

das ist auch nicht so. Bei mir funktioniert die Passwortänderung bei allen Usern vom Ubuntuclient aus und zwar sowohl über die Gnome Benutzerverwaltung als auch über das Terminal. Allerdings gibt es nur über das Terminal vernünftige Fehlermeldungen wenn irgendwas beim neuen Passwort nicht stimmt.

Dominik

Hallo Holger!

Muss man nach dem Hinzufügen von „(sophomorixRole=student)“ in Zeile 28 in der Datei auf dem server /usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py noch einem Dienst neustarten, bevor sich Schüler anmelden können?

Ja:
„# systemctl restart linuxmuster-webui“
oder
„# service linuxmuster-webui restart“

Gruß - Rainer

Hallo Rainer,

Muss man nach dem Hinzufügen von „(sophomorixRole=student)“ in Zeile 28
in der Datei auf dem server
/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py noch einem Dienst
neustarten, bevor sich Schüler anmelden können?

Oder muss es „(sophomorixRole=students)“ heißen.

Aber auch damit funktioniert es bei mir nicht - „authentication
failed!“. :frowning:
Meldung in /var/log/ajenti/ajenti.log:
„2019-09-06 12:11:42,883 ERROR : {‚info‘: u’80090308: LdapErr:
DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1’,
‚desc‘: u’Invalid credentials’}“

bei mir kam auch erst authentication failed: dann hab ich den server neu
gestartet: dann hat es funktioniert.

Ich weiß nicht welcher service das für die webui ist: deswegen hab ich
den restart gemacht: hat funktioniert.

Hier ist die korrekte Zeile 28:

searchFilter=„(&(cn=%s)(objectClass=user(|(sophomorixRole=globaladministrator)(sophomorixRo
le=teacher)(sophomorixRole=schooladministrator)(sophomorixRole=student)
))“ %username

LG

Holger

Hallo Rainer,

Genau.
Aber vorsichtig : mit einer Session erhalten die Schülern Zugang auf alle apis, und da war nicht alles getestet, selsbt wenn ich noch dran bin.
Also diese Änderung ist auf eigene Gefahr.

Gruß

Arnaud

Hi zusammen,

hat das hier:

sophomorix-user --help
...
Updating WebuiDashboard of a user:
  --user <user> --webui-dashboard "Webui Dashboard String"
  --user <user> --webui-permissions permission1,permission2,permission3, ... 
  --user <user> --add-webui-permissions permission1,permission2,permission3, ...
  --user <user> --remove-webui-permissions permission1,permission2,permission3, ...

  permissions1, ... must have the systax:  <ui>:<module>:<TRUE/FALSE>

auch was damit zu tun?

VG, Tobias

Hallo Tobias,

Was du zitierst ermöglicht den Zugriff von bestimmten User anzupassen, d.h. wer darf das Modul Linbo in die Webui verwalten, Userlisten, usw …
Das würde ich an deiner Stelle nicht ändern, aber lieber ein Kollegen als globaladmin hinzufügen.

Gruß

Arnaud

Hallo Arnaud,

Oh, danke!
Kann man inzwischen auch „school-admins“ definieren, ich vermute, dass du das meinst, denn „global-admin“ ist ja wie Highlander, oder?

VG, Tobias

Hallo,

habe die Änderung gerade durchgeführt, jedoch kann die WebUI anschließend nicht mehr korrekt geladen werden.
Man sieht im Hintergrund ausgegraut eine Fehlermeldung und das orangene Rad dreht sich im Vordergrund.
Nach Zurückbauen der Konfig + Neustart des Dienstes, läuft die WebUI dann auch wieder normal - aber eben ohne die Schülerfunktion.

Was könnte hiervon die Ursache sein?

LG
Xandra

In den Ajenti Logs sieht man folgendes

2019-09-13 16:51:16,045 ERROR : [lmn_auth]: plugin import failed: unindent does not match any outer indentation level (api.py, line 29)
2019-09-13 16:51:16,045 ERROR : Traceback (most recent call last):
File „/usr/local/lib/python2.7/dist-packages/aj/plugins.py“, line 329, in load_all_from
self.__import_plugin_module(name, self[name])
File „/usr/local/lib/python2.7/dist-packages/aj/plugins.py“, line 353, in __import_plugin_module
*imp.find_module(module_name, [module_path])
File „/usr/lib/linuxmuster-webui/plugins/lmn_auth/init.py“, line 1, in
import api
File „/usr/local/lib/python2.7/dist-packages/gevent/builtins.py“, line 96, in import
result = _import(*args, **kwargs)
File „/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py“, line 29
searchFilter = "(&(cn=%s)(objectClass=user)(|(sophomorixRole=globaladministrator)(sophomorixRole=teacher)(sophomorixRole=schooladministrator)(sophomorixRole=student$
$
IndentationError: unindent does not match any outer indentation level

und

2019-09-13 16:51:27,527 ERROR : Unhandled endpoint error at /api/core/identity

LG
Xandra

Hallo Xandra,

Durch die Änderung der Zeile um die Schülern die Anmeldung zu erlauben, hast du wahrscheinlich ein Tab gelöscht, was Python gar nicht mag.

Was ist das Ergebnis von :

head -30 /usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py

Gruß

Arnaud

Hallo Tobias

Sorry für die späte Antwort, ich bin momentan sehr beschäftigt.
Ich glaube momentan gibt es kaum Unterschied zwischen schooladmins und globaladmins, die Flexibilität ist geplant, und wir später kommen.

Gruß

Arnaud

Da habe ich ganz andere Erfahrungen gemacht. Als Schooladmin kann man z.B. keine neuen Geräte anlegen, ich konnte damit überhaupt nicht sinnvoll arbeiten.

sorry, habe die originale zeile 28 der rückgeänderten api.py gepostet, antwort war sinnlos und ist gelöscht.

sorry, da ist wohl was mit copy&paste schiefgelaufen, gibt da einen tag für quelltext?

ok, nicht gedacht, zeile 28 hätte gereicht.
nach einfügen der student-rolle darf der schüler sein pw anscheindend ändern.
jetuzt habe ich aber folgende komische meldung (ich war als normaler user eingeloggt und habe probiert auf der schulkonsole für einen anderen das pw zu ändern). dann kam eine meldung zur bestätigung, welches daten ich ändern möchte: meine oder von global-admin aber nicht die vom schüler.
ich vermute, jetzt habe ich etwas durcheinander gebracht.
muss ich hier etwas reparieren? ich habe auf abrechen geklickt.
muss ich auf der schulkonsole einfach wieder das original pw eintippen?