Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[entwicklung:techsheets:samba4_multischool]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
entwicklung:techsheets:samba4_multischool [2017/12/14 18:05]
jeffbeck [Table]
entwicklung:techsheets:samba4_multischool [2017/12/14 18:11] (aktuell)
jeffbeck [Table]
Zeile 1: Zeile 1:
 +{{tag> }}
 +
 +====== Ziele ======
 +
 +=== Mehrere Schüler/​Lehrerdateien ===
 +
 +Es sollen mehrere ''​schueler.csv''​ und ''​lehrer.csv''​ möglich sein, die jeweils eine Schule pflegt.
 +
 +=== Nicht-sophomorix-User ===
 +
 +Es sollen weiterhin User angelegt werden können mit den Samba Tools:
 +
 +  * ohne Homevereichnis
 +  * nur zum Authentifizieren
 +  * von sophomorix nicht veränderbar
 +
 +Umsetzung: ​
 +
 +  * die ldap-Attribute von sophomorix sind optional sind und bleiben mit dem samba-Tool leer.
 +  * sophomorix eine neue user id sucht, und ALLE vorhandenen berücksichtigt
 +  * sophomorix bei der Loginnamenerstellung ALLE vorhandenen User berücksichtigt
 +
 +
 +=== Nicht-sophomorix-Gruppen ===
 +
 +Es sollen Gruppen angelegt werden können mit den Samba Tools (Oder sophomorix):​
 +
 +  * ohne automatisch ein Tauschvezeichnis,​ ... zu erstellen
 +
 +Umsetzung ​
 +
 +  * diese Gruppen dürfen nicht so heissen wie zukünftige Klassen
 +  * sophomorix warnt, wenn 
 +    * es schon eine Nicht-sophomorix-Gruppe gibt, die wie eine Klasse heisst, die angelegt werden muss
 +    * WARNUNG:
 +      * Es muss eine sophomorix-Gruppe ''​grp''​ angelegt werden, weil es schüler in der Klasse gibt
 +      * Bitte entfernen Sie die selbst angelegte Gruppe ​ ''​grp''​ mit ''​command_goes_here''​
 +
 +Wäre evtl. schön, wenn man eine Gruppe *sophomorixieren* bzw. *entsophomorixieren* könnte ​
 +
 +
 +== Fragen zu Nicht-sophomorix Gruppen/​Usern==
 +
 +
 +=== Neue Rollen ===
 +
 +Evtl. sollen neue Rollen eingeführt werden (Gastlehrer,​ Powerschüler,​ ...) 
 +
 +
 +
 +moved
 +
 +
 +
 +====== Umsetzungsvorschlag ======
 +
 +===== LDAP-Baum =====
 +
 +Für den LDAP-Baum siehe auch: http://​www.netzint.de/​download/​AufbauDomaeneV009.pdf
 +
 +==== User im LDAP-Baum ====
 +
 +^ User/​Role ​           ^ Gruppentyp ​   ^ Bsp.-Gruppe ​       ^ OU                                     ^ memberOf ​              ^ memberOf ​          ^ memberOf ​ ^
 +| student ​             | adminclass ​   | <​token>​-7a ​        | CN=user,​OU=adminclass,​OU=Students ​     | <​school>​-students ​     | students ​          | users     |
 +| teacher ​             | teacherclass ​ | <​token>​-teachers ​  | CN=user,​OU=adminclass,​OU=Teachers ​     |                        | teachers ​          | users     |
 +| <​xyz> ​               | adminclass ​   | <​token>​-<​xyz> ​     | CN=user,​OU=adminclass,​OU=Teachers ​     |                        | <​xyz> ​             | users     |
 +| examaccount ​         | room          | <​token>​-room ​      | CN=user,​OU=adminclass,​OU=ExamAccounts ​ | <​school>​-examaccounts ​ | examaccounts ​      | users     |
 +| computer ​            | roomcomp ​     | -nicht gruppiert- ​ | CN=user,​OU=adminclass,​OU=Workstatins ​  | -nicht gruppiert- ​     | -nicht gruppiert- ​ |           |
 +| schooladministrator ​ |               ​| ​                   | OU=Management ​                         | <​school>​-admins ​       |                    |           |
 +| globaladministrator ​ |               ​| ​                   | OU=Management ​                         | globaladmins ​          ​| ​                   |           |
 +| schoolbinduser ​      ​| ​              ​| ​                   | OU=Management ​                         | <​school>​-AD_RO_auth ​   |                    |           |
 +| globalbinduser ​      ​| ​              ​| ​                   | OU=Management ​                         | global-AD_RO_auth ​     |                    |           |
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +==== Gruppen im LDAP-Baum ====
 +
 +moved
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Konfigurationsdateien für den admin =====
 +
 +====Ziele====
 +
 +  * Eine Schule=Eine Konfigurationsdatei
 +    * Ermöglicht Beispielschulen
 +    * Schulauswahl bei Installation/​Provisioning (Grundschule mit Standardpasswort ''​Linux!'',​ Gymnasium, Berufsschule,​ ...) 
 +  * in ''​teachers.csv''​ nix mehr konfigurieren,​ lehrer.csv soll dump aus SVP sein können (mit 5. Feld als login, oder automatisches login)
 +  * Konfigurationsdateien NICHT MEHR unter /etc ins Paket
 +    * Nachteil unter ''/​etc'':​
 +      * Nachfrage bei Aktualisierung
 +    * Besser unter ''/​usr/​share''​ als templates ins Paket
 +      * bei der Paketinstallation/​update wird
 +        * Die templates nach /etc kopiert, falls nicht vorhanden
 +        * neue VARIABLEN im template in ''/​etc''​ angehängt mit standardwert und Kommentar dahinter
 +        * Neue Variablen werden von der Schulkonsole angezeigt  ​
 +  * ''​quota.txt''​ soll wegfallen/​in Schule integriert werden
 +  * ''​mailquota.txt''​ soll wegfallen/​in Schule integriert werden
 +  * ''​class_map''​ soll wegfallen/​in Schule integriert werden
 +
 +====Schulübergreifende Konfiguration====
 +
 +Die Grundlegende Konfigurationsdatei ist ''/​etc/​sophomorix/​sophomorix.conf''​.
 +Sie hat ein neues Format (VAR=Value, nicht mehr perl-syntax) und ist nicht mehr im Unterverzeichnis ''​user'',​ da auch hosts konfiguriert werden.
 +
 +Beispiel ''​sophomorix.conf.master''​ aus git: [[https://​github.com/​linuxmuster/​sophomorix4/​blob/​xenial/​sophomorix-samba/​config-devel/​master/​sophomorix.conf.master|sophomorix.conf.master]]
 +
 +
 +====Schul-Konfiguration====
 +
 +Beispiele für Schulkonfigurationsdateien ''​*.school.conf'':​
 +
 +  * ''​school.conf,​master''​ aus git: [[https://​github.com/​linuxmuster/​sophomorix4/​blob/​xenial/​sophomorix-samba/​config-devel/​master/​school.conf.master|school.conf.master]]
 +
 +
 +
 +  ​
 +
 +
 +==== Überblick Konfigurationsdateien für den admin====
 +
 +=== User der Standardschule ===
 +
 +Die bisherigen Dateien behalten ihre Bedeutung bei.
 +Wenn sie vorhanden sind werden sie in die Standardschule (''​default-school'',​ kein Präfix) eingelesen.
 +
 +^ Datei alt          ^ Datei neu         ^ Rolle der User  ^ Primäre Gruppe/​Sekundäre Gruppe ​ ^
 +| schueler.txt ​      | students.csv ​     | student ​        | Klasse/​students ​                 |
 +| extraschueler.txt ​ | teachers.csv ​     | student ​        | Klasse/​students ​                 |
 +| extrakurse.txt ​    | extraclasses.csv ​ | student ​        | Kursname/​students ​               |
 +| lehrer.txt ​        | teachers.csv ​     | teacher ​        | teachers/​- ​                      |
 +
 +
 +
 +
 +=== Computer und Examaccount der Standardschule ===
 +
 +Die bisherige Datei behält ihre Bedeutung bei.
 +Sie muss vorhanden sein, ist bei einer Mehrschullösung aber leer:
 +
 +^ Datei alt   ^ Datei neu    ^ Rolle der User ^ Zusätzlich ​         ^
 +| workstation | devices.csv ​ | examaccount ​   | computer($-account) |
 +
 +
 +
 +=== User weiterer Schulen ===
 +
 +Für zusätzliche Schulen sind folgende Dateien in ''/​etc/​linuxmuster/​sophomoix/<​schulname>''​ möglich:
 +
 +^ Datei                  ^ Rolle der User  ^ Ermittelter <​schulname> ​ ^
 +| abc.students.csv ​      | student ​        | abc                 |
 +| abc.extrastudents.csv ​ | student ​        | abc                 |
 +| abc.extraclasses.csv ​  | student ​        | abc                 |
 +| abc.teachers.csv ​      | teacher ​        ​| ​                    |
 +
 +
 +
 +=== Computer und Examaccount weiterer Schulen ===
 +
 +Für zusätzliche Schulen sind folgende Dateien in ''/​etc/​linuxmuster/<​schulname>''​ möglich:
 +
 +^ Datei                  ^ Rolle der User ^ Zusätzlich ​        ^ Ermittelter <​schulname> ​ ^
 +| abc.devices.csv ​       | examaccount ​   | computer ($-Account) | abc                 |
 +
 +  * Der <​schulname>​ muss kurz sein (max. 5 kleine Buchstaben a-z und Ziffern 0-9) und soll die Schule kennzeichnen.
 +  * Der <​schulname>​ wird im ldap bei jedem user gespeichert,​ um:
 +    * zu wissen aus welcher Datei der User angelegt wurde 
 +  * Der <​schulname>​ wird als Präfix verwendet, um:
 +    * Gruppennamen eindeutig zu machen:
 +      * Die Klasse ''​7a''​ in der Datei ''​abc.schueler.csv''​ wird zu ''​abc-7a''​
 +      * Tauschverzeichnisse eindeutig zu machen.
 +
 +
 +
 +
 +===== Konfiguration für Entwickler=====
 +
 +=== Userdateien zulassen===
 +
 +Die im Paket ''​sophomorix-samba''​ befindliche [[https://​github.com/​linuxmuster/​sophomorix4/​blob/​xenial/​sophomorix-samba/​config-devel/​sophomorix.ini|sophomorix.ini]] bringt eine Liste der möglichen User-Dateien mit:
 +
 +
 +^ Mögliche ​            ^ sophomorixRole ​ ^ Erlaubte ​ ^ sophomorixType ​ ^ Name     ^ Unter-OU ​   ^ Über-OU ​   ^ globale ​         ^
 +^ Dateien ​             ^ der User        ^ Gruppen ​  ^ der Klasse ​     ^ der      ^ für         ^ für        ^ Gruppe ​          ^
 +^                      ^ in den          ^ in der    ^ des Users       ^ Gruppe ​  ^ erstellte ​  ^ erstellte ​ ^ in               ^
 +^                      ^ Dateien ​        ^ Datei     ​^ ​                ​^ ​         ^ Gruppen ​    ^ Gruppen ​   ^ OU=GLOBAL ​       ^
 +| *.students.csv ​      | student ​        | <​multi> ​  | adminclass ​     | *-multi ​ | *-students ​ | Students ​  | global-students ​ |
 +| *.extrastudents.csv ​ | student ​        | <​multi> ​  | adminclass ​     | *-multi ​ | *-students ​ | Students ​  | global-students ​ |
 +| *.teachers.csv ​      | teacher ​        | teachers ​ | teacherclass ​   | ------> ​ | *-teachers ​ | Teachers ​  | global-teachers ​ |
 +
 +
 +
 +Erläuterungen:​
 +
 +  * Mögliche Dateien:
 +    * sophomorix-check ''​--info''​ zeigt alle User-Dateien die eingelesen werden:
 +    * * darf 1-3 Zeichen lang sein
 +  * sophomorixRole:​
 +    * Alle user in der Datei bekommen diese Rolle
 +  * Erlaubte Gruppen:
 +    * ''​multi'':​ es sind verschiedene Gruppennamen erlaubt in der Datei, deren Namen als unter-OU dienen
 +    * ''​teachers''​ oder jeder andere String: ​
 +      * Alle user kommen in diese Gruppe egal, was in der Datei steht (z.B.''​lehrer''​).
 +      * Es gibt keine unter OU
 +  * sophomorixType:​
 +    * jede Gruppe, die für die user der Datei erstellt wird bekommt diesen Typ
 +  * OU:
 +    * die erstellten Gruppen kommen in die OU=SCHOOLNAME
 +    * für ''​multi''​-Dateien werden unter-OU'​s erstellt
 +    * für alle andern wird die Gruppe unter der OU erstellt  ​
 +  * globale Gruppen
 +    * die Globale Gruppen sind in OU=GROUPS,​OU=GLOBAL ​
 +
 +
 +
 +=== Quotadateien ===
 +
 +Bisher: Userquota in Datei, Projektquota nur in db klassenquota,​ lehrerquota in lehrer.txt, : VERWIRREND
 +
 +Ziele:
 +
 +  * quota und mailquota werden erxakt gleich behandelt
 +  * quota.txt soll wegfallen
 +    * Standardwerte kommen in die sophomorix.conf bzw. schule.sophomorix.conf,​ ...
 +    * Einzeluser werden mit sophomorix-Befehlen in ldap gesetzt
 +    * quota in lehrer.txt fallen weg (teacher.csv soll als dump eingespielt werden können)
 +
 +Berechnung des gesamtquota eines users:
 +  * quota + addquota = gesamtquota
 +    * quota:
 +      - schuldefault in sophomorix.conf
 +      - falls vorhanden: adminclassdefault
 +      - (falls 2. adminklasse vorhanden, mehrschul-schüler:​ adminclass dazuzänlen (oder größeres benutzen?)
 +      - falls vorhanden: user quota
 +    * addquota:
 +      - addquota projekt 1
 +      - addquota projekt 2
 +      - ?? Projekte von Projekten?? auflösen?? ​   ​
 +
 +Entsprechend bei ''​mailquota.txt''​
 +
 +
 +==== Allgemeines ====
 +
 +  * Wird ein User/​Workstation in eine andere Datei verschoben so ändern ''​sophomorix-check/​move''/''​sophomorix-workstation''​ den User/​Workstation im System:
 +    * Neue Gruppe, homeverzeichnis durch anderen Präfix
 +    * Neuer Raumname durch anderen Präfix ​
 +
 +==== Fragen ====
 +
 +  * Sind die Dateinamen mit 2 Punkten auf Windows-Rechnern überhaut gut handlebar
 +    * Also abc.students.csv
 +  * Gruppennamen werden länger (5 zeichen und Bindestrich:​ 6 Zeichen). Ist das ein Problem? Maximale Gruppenlänge?​
 +  * Alle Lehrer sind in allen Schulen gleichberechtigt. Ist das gut so?
 +  * Die Netzwerkbetreuer der Schulen bearbeiten bzw. laden nur ihre Dateien hoch und starten die Usersynchronisation. ​
 +    * Der Zugriff zum hochladen, ... müsste in der Schulkonsole geregelt werden.
 +  * Wo soll der Lange Schulname gespeichert werden?
 +      * bei jedem User?
 +      * als ou=... ​
  
 [[entwicklung:techsheets:samba4_multischool]] entwicklung/techsheets/samba4_multischool.txt · Zuletzt geändert: 2017/12/14 18:11 von jeffbeck