Passwörter ändern

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?

Du hast Recht, es gibt mehr Unterschiede als ich dachte. Wir müssen es unbedingt in einer Tabelle zusammenfassen zum vergleichen. Andreas hat ein bessere Übersicht als ich.

Gruß

Arnaud

Hallo,

passt jetzt - es war wie vermutet ein Tab o.ä. im Skript.
Danke!

Grüße,
Xandra

Ich passe meine Zusammenfassung mal an:

Hallo zusammen,

nach längerer Recherche fasse ich mal zusammen zum Thema Passwortänderung:

  1. Man soll mit Linuxclient oder Windowsclient Bordmitteln das Passwort ändern, was die Schüler angeht. Die Lehrer können das auch in der Schulkonsole.

  2. Die Schüler können das auch in der Schulkonsole, wenn man das in der DAtei /usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py patched und (sophomorixRole=student) zur Liste der erlaubten hinzufügt. Das brauchen z.B. Tabletklassen.

       #!/bin/bash
       sed -i "s/(sophomorixRole=schooladministrator) /(sophomorixRole=schooladministrator)   (sophomorixRole=student) /" /usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py
       echo -n "Check if student is in filter: "
       grep student /usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py >/dev/null && echo ok
       echo "Restarting Schulkonsole/WebUI"
       systemctl restart linuxmuster-webui
  3. Eigentlich legt sophomorix die Regeln fest, die bisher für mich lauteten (konfigurierbar):

    • mind. 7 Zeichen,
    • mind. 1 Großbuchstaben,
    • mind. 1 Kleinbuchstaben,
    • mind. 1 Zahl oder Sonderzeichen von ! § + - @ # $ % & * ( )[ ]{ } Das „§“ wird gerade hier diskutiert.
  4. Aber: der Samba/AD hat auch seine Regeln (https://ask.linuxmuster.net/t/lml7-minimum-password-age/792) und die lauten:

    • nicht eines der letzten 24 Passwörter verwenden
    • wenn du vor kurzem dein Passwort geändert hast, darfst du das nicht nochmal
    • es gibt ein maximales Passwortalter (bei mir: 42)
      EDIT: Diese Regeln gelten nicht, wenn man die Schulkonsole verwendet. Wenn man allerdings mit Bordmitteln (windowsclient/linuxclient) das Passwort ändern versucht, schlagen die Regeln zu!
  5. Ich habe festgestellt, dass das pam-modul pam_pwquality in der Datei /etc/pam.d/common-password auch noch seinen Senf/seine Regeln dazugibt, wenn man die Bordmittel von Linux verwendet. Das nervt, aber auskommentieren konnte ich die pam_ Zeile auch nicht, daher habe ich wenigstens /etc/security/pwquality.conf so geändert, dass es unterhalb der REgeln von sophomorix liegt:

       difok = 0
       minlen = 7
       ucredit = -1
       lcredit = -1
       dictcheck = 0
       usercheck = 0
       enforcing = 0

    Zwar mosert das pam dennoch, wenn ich „Muster!“ als PW versuche, aber pam lässt mich weitermachen.

       Aktuelles Passwort:
       Bitte ein neues Passwort eingeben:
       Unsicheres Passwort: Das Passwort ist nur ein altes Passwort wiederverwendet
       Bitte das neue Passwort erneut eingeben:
  6. Wenn man mal sein PW geändert hat, dann hilft nur noch die Server-Konsole als admin sophomorix-passwd -u kuechel --pass "Muster!" --hide --nofirstpassupdate. Falsch: Wie oben geschrieben funktioniert das Passwortändern mit der Schulkonsole mehrfach hintereinander.
    Seltsame Geschichte: Wenn ich per Schulkonsole oder per sophomorix-passwd das Passwort zurückgesetzt habe, dann kann ich mich mit dem zurückgesetzten Passwort einloggen, aber muss auf dem Client als altes Passwort (bei „passwd“, nicht in der Schulkonsole) das alte Passwort vor der Zurücksetzung eingeben. Ich vermute das ist ein Caching des sssd auf dem Client, sollte man aber irgendwie wissen, wenn es schief geht.

7. Selbst wenn man mit sophomorix oder der Schulkonsole sein Passwort neu gesetzt bekommen hat, kann man für mind. 1 Tag sein Passwort nicht mehr setzen, Minimum password age (days): 1 steht im Samba irrelevant, oben bereits behandelt.
8. Können die Fehlermeldungen des Samba/AD übersetzt werden? Das ist ja unabhängig von der Windows/Linuxfrage. Ich sammle mal hier die Antworten, die ich bisher vom Server bekam:

Änderung des Passworts fehlgeschlagen. Server-Meldung: Password too short, password must be at least 7 characters long.
Änderung des Passworts fehlgeschlagen. Server-Meldung: Password does not meet complexity requirements
Änderung des Passworts fehlgeschlagen. Server-Meldung: Password is already in password history. New password must not match any of your 24 previous passwords.
Änderung des Passworts fehlgeschlagen. Server-Meldung: Old password not accepted.
Änderung des Passworts fehlgeschlagen. Server-Meldung: Password change rejected, password changes may not be permitted on this account, or the minimum password age may not have elapsed.

So, und jetzt meine 2 cent:

  • ich finde minimum password age eine blöde idee. Kann man das auf 0 setzen?
  • können wir uns im Linuxclient einigen, den pwquality-check abzuschalten, irgendwie?
  • kann man cacheing im sssd im Linuxclient verhindern? Oder sollten wir uns einigen, auch Schüler lieber in der Schulkonsole das PW ändern zu lassen?

Das sind alles irgendwie showstopper, wenn ich mit Schülern üben will, ihr PW zu ändern. Es reicht ja schon, wenn 5 ihr PW ein zweites Mal ändern wollen - das geht dann nicht. Evtl. wg. Caching effekten und dann erst recht nicht, weil Samba erst morgen wieder will. Das ist doch bullshit.

VG, Tobias

Hallo Tobias,

wow, Hut ab; super Zusammenfassung!

Maximales Passwortalter finde ich nervig. Ich habe mir mittlerweile ein vermeintlich sicheres Passwortsystem ausgedacht. Allerdings fordert ein System, bei dem ich mich anmelde alle 3 Monate ein neues Passwort und mein System ist damit für’n A…bfalleimer!
Kann man das so hochsetzen (ich nehme an, das sind Tage?), dass es nie zuschlägt? 9999 oder so. Das sollte zumindest bis zu meiner Pensionierung reichen :wink:

Au backe, das wird Probleme geben! Das bekomm ich vermutlich nicht mal den KollegInnen beigebracht…

+1!

Viele Grüße,
Jochen

Hallo,

es gibt ein maximales Passwortalter (bei mir: 42)

vorsicht: so einfach ist das nicht.
Irgendwo (vieleicht da wo du es jetzt gefunden hast) steht noch die 42
drin: aber das Passwortablaufen wurde im samba eigentlich vor etwa 2
Monaten abgeschaltet (zentral).
Such mal in ask: da gibt es einen Tread zu, wo Rüdiger das beschreibt.

LG

Holger

Achtung, dass ist nicht ganz richtig:

Folgendes wurde geändert: sophomorix legt user und workstation mit nicht mehr ablaufenden Passwort an (einzeln, je user). Zentral läuft das passwort ab (samba default).

Man kann allerdings für jeden sophomorix user das passwort auf nicht ablaufend setzen (schon angelegte user):

# sophoris-passwd -h
...
Password expiry stuff:
  --show-password-expiry-days <user> (show info)
  --set-password-noexpiry-all-sophomorix-users (set all password of sophomorix users to nonexpiry)
...

Die Globalse samba Einstellung ist dazu nicht erforderlich

@foer zu 7. Minimum password age (days): 1

Bei meinen tests kann ich das nicht feststellen, dass sophomorix-passwd nicht mehrfach das passwort ändern kann:

# sophomorix-passwd --user schneima42 --interactive
  ... setzen auf Muster!
# sophomorix-passwd --test-login schneima42 --password Muster!
 ... tut
# sophomorix-passwd --user schneima42 --interactive
... setzen auf Muster%
# sophomorix-passwd --test-login schneima42 --password Muster!
... tut nicht mehr
 sophomorix-passwd --test-login schneima42 --password Muster%
... tut

Hallo @jeffbeck,

du hast recht:

Das Maximum Password age ist weder zwangsläufig 42. Das wurde von dir ja implementiert und das kann ich auch nachvollziehen und mit dem Fix der richtigen Domäne funktioniert auch bei mir das --show-password-expiry-days <user> richtig.

Noch kann ich die ursprüngliche Meldung von @foer nachvollziehen

auch bei mir funktionieren alle möglichen kombinationen nacheinander…

Fazit: In der Schulkonsole kann ich mehrfach nacheinander das Passwort setzen, auch von Muster! zu Muster% und zurück zu Muster!.

Jetzt noch, was als Probleme für mich übrig bleiben:

  • Ich kann nicht mehrfach nacheinander das Passwort mit Bordmitteln von Ubuntu (und wahrscheinlich auch Windows) setzen. Das ist doof für die Schüler, denn für die ist momentan keine Schulkonsolennutzung vorgesehen. Die können also nur einmalig mit Hilfe von „passwd“ das PAsswort ändern.

Jetzt habe ich bei meinem Samba eben die Default-Einstellung auf „0“ gesetzt:

# samba-tool domain passwordsettings set --min-pwd-age=0
Minimum password age changed!
All changes applied successfully!

Dann funktioniert das auch mit passwd auf der Console des Clients:
grafik

  • Aber selbst dann bleibt die Problematik mit den 24 bisher verwendeten Passwörtern, wenn man die Bordmittel verwendet:
  • Kleinere Probleme sind die obigen: Englische Rückmeldungen, caching im client, pwquality-check im client

fazit

Ich frage mich, ob wir Schülern jetzt defaultmäßig die Schulkonsole „nahelegen“ bzw. die Benutzung erzwingen oder den Weg mit den Bordmitteln offen lassen. LEtzters erfordert auf Serverseite (aus meiner Sicht) das setzen von min-pw-age auf 0 und --history-length=0. Und wo wir grade bei der Frage sind: wenn jemand 30 mal das falsche Passwort eingibt ist er bei mir für eine halbe Stunde gesperrt. Wenn das so gewollt ist, sollte man es wenigstens als Tipp in die Doku aufnehmen.

VG, Tobias