Home

Projektdokumentation der Abschlußprüfung zum

image

Contents

1. else 15 27 groupmod cgi Seite 3 5 print lt b gt text return2 hlink RC return systemprogs um retum lt b gt n undef Sgroups print lt pre gt n print lt hr gt n Z H L dd dd ENTE dd dd dd dd dd dd dt BHHHHH EHEN TEEN gd dd dt d dd dd dt BHHHHH Tabelle mit Gruppen Details ausgeben print lt h3 gt text groupmodl in group lt h3 gt n print lt table border 0 cellspacing 0 cellpadding 5 width 100 cb gt n print lt tr gt n print lt td gt hlink Stext groupmod2 groupmod 1 lt b gt lt td gt n print lt td gt lt b gt in group lt b gt lt td gt n print lt td gt hlink Stext groupmod3 groupmod 2 lt b gt lt td gt n print lt td gt lt b gt getgrnam Sin group lt b gt lt td gt n print lt tr gt n print lt tr gt n print lt td gt hlink Stext groupmod4 groupmod 3 lt b gt lt td gt n print lt td gt lt b gt n d tt dd dd dd dd dd dd dd dd dt BHHHHH Prim re Gruppenmitglieder ausgeben primuser getgroupprimuser Sin group foreach Sschluessel sort keys primuser print schluessel primuser schluessel An print lt b gt amp nbsp lt td gt n print lt td gt hlink Stext groupmod5 groupmod 4 lt b gt lt td gt n print lt td gt lt b gt n EEE d dd dd RR RR d d d d d dd dd dd dd dd dd d d d d d d d d
2. Heimatverzeichnis erstellen F r jeden Benutzer sollte ein Heimatverzeichnis auf dem Server bestehen Sollte es Gr nde geben da f r den Benutzer kein neues Heimat verzeichnis erstellt werden soll kann dieses Feature hier deaktiviert werden Soll ein neues Heimatverzeichnis erstellt werden wird ein Grundprofil in das Heimatver zeichnis kopiert Der Ort dieses Grundprofils wird in der Konfiguration ber Pfad Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 8 zu Profildateien angegeben Je nach Einstellung von Anmeldung direkt auf Server werden unterschiedliche Profildateien kopiert 2 1 2 Benutzer l schen Heimatverzeichnisse l schen Beim L schen normaler Benutzer k nnen die Heimat verzeichnisse mit gel scht werden Da das normalerweise sinnvoll ist ist diese Ei genschaft standardm ig aktiviert M chten Sie mehrere Benutzer l schen wobei bei einigen das Heimatverzeichnis nicht gel scht werden soll m ssen Sie dies in zwei Schritten tun eine expliziete Auswahl von wem die Heimatverzeichnisse ge l scht werden ist nicht vorgesehen Sollten Sie System Benutzer l schen wird hier nicht automatisch das Heimatver zeichnis gel scht da sich diese teilweise im normalen Dateisystem befinden und nicht gel scht werden k nnen ohne das wichtige Teile des Betriebssystems besch digt w rden Um m gliche Systemausf lle zu vermeiden wurde deshalb dies
3. dt d dd d dd dd dd dt dd dd dt BHHHHH alle Gruppen ermitteln lt groupsys getgroups system groupusr getgroups normal Ggroupsys sort keys S groupsys Ggroupusr sort keys S groupusr Sgroupsys groupusr ENTER BHHHHH Start der HTML Ausgabe amp header Stext titelgl group undef undef undef lt nobr gt Written by lt nobr gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt userdel cgi group cgi 11 27 group cgi Seite 2 4 lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt hr gt n print lt p gt n tt dd dd d dd dd dd dd TTT d d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Beginn Formular Aufrufscript groupadd cgi Method Post Felder txt_groupname chk_groupdir pop_dir print lt form action groupadd cgi method post gt n EEE dd dd dd dd TTT d d d d d d dd dd dd dd dd dd d d d d d d d d dd Z Ausgabe der Tabelle f r das Anlegen einer neuen Gruppe print lt lt EOP lt h3 gt Stext groupl lt h3 gt lt table border 0 width 100 cb cellpadding 5 cellspacing 0 gt lt tr gt EOP print lt td gt lt b gt hlink Stext group2 group l lt b gt lt td gt n print lt lt EOP lt td gt lt input type text maxlength 16 name txt_groupname size 20 gt lt
4. 1 1 Allgemeines Der Benutzer und Gruppenmanager soll vielleicht nicht als Ersatz sondern als Zusatz zum schon vorhandenen WebMin Modul Benutzer und Gruppen betrachtet werden Bei der Auswahl der Funktionalit t wurde versucht diesen Manager auf das Notwendigste zu reduzieren um Benutzer und Gruppen zu verwalten Andererseits wurden Funktionen der Benutzerverwaltung die sonst ber das Modul Windows Dateifreigabe verf gbar sind mit in das vorliegende Modul aufgenommen um einfach und in einem Schritt sowohl die System Benutzer sowie die Samba Benutzer verwalten zu k nnen Es soll vor allem in den Schulen Einsatz finden wo h ufig gr ere Benutzermengen angelegt werden m ssen und Samba als Fileserver eingesetzt wird Aus diesem Grund sind einige der Bezeichnungen auch an Begriffe aus der Schule angelehnt 1 2 Funktionsumfang 1 Benutzermanager e Anlegen von System und Samba Accounts wahlweise mit Pa worteingabe oder automatischer Pa wortgenerierung und Anlegung des Heimatverzeichnisses e Anzeigen von Detailinformationen zu Accounts e ndern von Pa w rtern f r den System Account und oder Samba Account e ndern der Standardshell e ndern der prim ren Gruppe sowie der Zugeh rigkeit zu sekund ren Gruppen e multiples L schen von System und Samba Accounts bei normalen Benutzern kann auch gleichzeitig das Heimatverzeichnis gel scht werden 2 Gruppenmanager e Anlegen von Gruppen und Gruppenverzeichnissen
5. 4 1 2 Benutzer Daten ndern Pa wort ndern ber diesen Punkt kann erreicht werden da das System Pa wort ge ndert wird nicht das Samba Pa wort Um unterschiedliche Pa w rter zu ver meiden sollte bei nderung des System Pa wort auch das Samba Pa wort ge ndert werden siehe Samba Account Das neue Pa wort wird ber die Felder Pa wort und Pa wortwiederholung angegeben Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 11 Pa wort und Pa wortwiederholung Hier kann das neue Pa wort des Benutzers ein gegeben werden das maximal 14 Zeichen betragen kann Zur Validierung mu im Feld Pa wortwiederholung das gleiche Pa wort eingetragen werden Das neue Pa wort wird nur gesetzt wenn die beiden angegebenen Pa w rter identisch sind sowie Pa wort ndern auf ja und oder Samba Account auf Pa wort ndern oder an legen und aktivieren gesetzt sind Prim re Gruppe Hier kann die prim re Gruppe des Benutzers ver ndert werden Stan dardm ig steht hier die aktuelle prim re Gruppe Sollten Sie die prim re Gruppe ndern achten Sie bitte darauf da diese im System vorhanden sein mu ber den Button neben dem Eingabefeld erhalten Sie ein Fenster mit allen im System vorhan denen Gruppen Klicken Sie eine der Gruppen an wird dieser Gruppenname in das Feld f r die prim re Gruppe bernommen Bitte beachten Sie da die Gruppenzugeh rigke
6. else print lt h3 gt text useradd10 lt h3 gt lt pre gt n amp passwdpart else print lt pre gt n amp passwdpart HH HH HH HERRER Anlegen des Benutzer und des Samba Accounts if Sin rad passwd eg yes or Spasswdvalid eg ok print text useradd4 Sin txt_username useradd cgi Seite 4 4 if Sin rad_skel eg yes 160 Sreturn system useradd g in pop_group d in userhome s in rad_shell c in txt_realname m k in skel p passwd in txt_username gt dev null 2 gt amp 1 256 else return system useradd g in pop_group d in userhome s in rad_shell c in txt_realname p passwd in txt_username gt dev null 2 gt amp 1 256 if return 0 print lt b gt text return1 lt b gt n print text useradd5 lt b gt in pop_group lt b gt n print text useradd6 lt b gt in userhome lt b gt n else print lt b gt text return2 hlink RC return systemprogs ua return lt b gt n if Sin rad_smb eg yes and Sreturn 0 print text useradd7 return system smbpasswd a e s in txt_username passwd gt dev null 2 gt amp 1 256 if Sreturn 0 print lt b gt text return1 lt b gt n else print lt b gt text return2 hlink RC return systemprogs sm return lt b gt in elsif Sin rad_
7. print lt h3 gt textltimel lt h3 gt n endtime times print lt pre gt 10 27 userdel cgi Seite 3 3 group cgi Seite 1 4 print text time2 Sendtime 0 S Sstarttime 0 usr bin perl print text time3 Sendtime l Sstarttime 1l t dd dd dd dd d dd dd TTT d d d d d d dd dd dd dd dd dd d d d d d d d dd tt print text time4 Sendtime 2 Sstarttime 2 BHHrHHH print text time5 Sendtime 3 Sstarttime 3 Script group cgi print lt pre gt n Funktion Zeigt alle vorhandenen Gruppen print lt hr gt n Felder f r die Gruppenanlegung Felder f r die Gruppenl schung amp footer module_name user cgi Stext back3 Link f r die Gruppenmodifizierung Konfigurations variablen grouprow Anzahl der Tabellen Spalten groupdir Pfad zu Gruppenverzeichnis homedir_schueler Pfad zu Sch lerheimatverzeichnissen homedir_lehrer Pfad zu Lehrerheimatverzeichnissen Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 EEE 0 0 2 BHHrFHH EEE d dd d dd d dt d dd dd dt Z g Verwendete Variablen local my Sgroupsys falle System Gruppen Group gt GID groupusr falle normalen Gruppen Group gt GID O my Ggroupsys falle System Gruppen Ggroupusr falle normalen Gruppen or my Stempl 0 Z hlvariable f r Array Zugriff EEE HH HH BHHrHHH HH HH HH BHHrHHH Bibliotheken einbinden do web lib pl do usermgr lib pl amp init_config
8. lt pre gt if Sstr usermod print text usermod20 return system usermod str_usermod in user gt dev null 2 gt amp 1 256 if return O 4 print lt b gt text return1 lt b gt n else print lt b gt text return2 hlink RC return systemprogs um retum lt b gt n if str_smbpasswd print text usermod21 return system smbpasswd str_smbpasswd gt dev null 2 gt amp 1 256 if return O print lt b gt text return1 lt b gt n else print lt b gt text retum2 hlink RC return systemprogs sm retum lt b gt n usermod cgi usermod cgi Seite 4 6 print lt pre gt n print lt hr gt n BEER dd d dd dd dd d d d d d dd dd dd dd dd dd d d d d d d d dd dt Tt EFEFH Tabelle mit Benutzer Details ausgeben Guser getpwnam Sin user Sprimgrouprgetgrgid Suser 3 print lt h3 gt text usermodl Sin user lt h3 gt n print lt table border 0 cellspacing 0 cellpadding 5 Sch width 100 gt n print lt tr gt n print lt td gt hlink Stext usermod2 usermod 1 lt td gt n print lt td gt lt b gt user 0 lt b gt lt td gt An print lt td gt hlink Stext usermod3 usermod 2 lt td gt n print lt td gt lt b gt user 2 lt b gt lt td gt An print lt tr gt n print lt tr gt n print lt td gt hlink Stext usermod4 usermod 3 lt td
9. 1 1 Seite 1 1 Inhaltsverzeichnis 27 27
10. 1 aus System l schen erfolgt gescheitert e erfolgt kennzeichnet eine erfolgreiche Ausf hrung und e gescheitert kennzeichnet eine Ausf hrung mit Fehlern Der Fehlercode wird in Klammern mit angegeben ber den Link k nnen Sie n here Informationen ber die Art des Fehlers erhalten Bei einem Fehler 12 konnte das Heimatver zeichnis des Benutzers nicht gel scht werden da es nicht mehr vorhanden ist z B durch vorheriges L schen oder Verschieben Der System Account wurde jedoch trotzdem gel scht und steht nicht mehr zur Verf gung 2 Heimatverzeichnis l schen erfolgt ausgelassen e Bei erfolgt wurde das Heimatverzeichnis des Benutzers erfolgreich gel scht e In den F llen das die Option Heimatverzeichnis l schen nicht eingeschaltet ist es sich bei dem zu l schenden Account um einen Systemaccount handelt oder das Heimatverzeichnis nicht mehr vorhanden ist wird der Status ausgelassen zur ckgegeben 3 aus Samba l schen erfolgt nicht vorhanden Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 seite 13 e Bei der R ckmeldung erfolgt konnte der Samba Account erfolgreich aus dem System entfernt werden e die Meldung nicht vorhanden kennzeichnet einen gescheiterten Versuch Die Ursache hierf r liegt fast immer darin da es keinen Samba Account f r den Benutzer gibt Da der Fehler andere Ursachen haben k nnte kann normaler weise ausgeschlossen werde
11. Funktion Startseite f r Benutzer Gruppenmanager generieren Pr fung der Konfigura tionseinstellungen verkn pfte Scripte user cgi group cgi userauto cgi config cgi help cgi 1 2 Script user cgi Funktion Zeigt alle vorhandenen Benutzer Felder f r die Benutzeranlegung Felder f r die Benutzerl schung Link f r die Benutzermodifizierung verkn pfte Scripte useradd cgi usermod cgi userdel cgi index cgi help cgi 1 3 Script useradd cgi Funktion Legt neuen Benutzer an verkn pfte Scripte user cgi index cgi help cgi 1 3 1 Funktion passwdpart bergabewert keine R ckgabewert keine Beschreibung Liefert HTML Code f r die Eingabe eines Pa wortes 1 4 Script usermod cgi Funktion Zeigt Benutzer Details und modifiziert Benutzerdaten verkn pfte Scripte usermod cgi user cgi index cgi help cgi 1 5 Script userdel cgi Funktion L scht Benutzer verkn pfte Scripte user cgi index cgi help cgi 1 Die mit einem Sternchen gekennzeichneten Scripte werden von WebMin bereitgestellt Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Systemdokumenfafion Seite 4 1 6 Script group cgi Funktion Zeigt alle vorhandenen Gruppen Felder f r die Gruppenanlegung Felder f r die Gruppenl schung Link f r die Gruppenmodifizierung verkn pfte Scripte groupadd cgi groupmod cgi groupdel cgi index cgi help cgi 1 7
12. OUTPUT EEE dd dd dd dd dd dd dd d dd d d dd dd d d d d d d dd tt Z Export Datei sortieren ins angegebene Format konvertieren und ins ange gebene Verzeichnis kopieren Name userlist_PID txt system sort o tempname2 tempnamel gt dev null 2 gt amp 1 if Sin pop exporttyp eg win system recode latin1 cp1252 tempname2 gt dev null 2 gt amp 1 elsif Sin pop_exporttyp eg dos system recode latin1 ibmpc tempname2 gt dev null 2 gt amp 1 elsif Sin pop exporttyp eg mac system recode latin1 macce tempname2 gt dev null 2 gt amp 1 Sexportname inftxt_export userlist_ txt system cp b tempname2 exportname print lt hr gt n dd dd dd dd dd dd dd dd dd dd d d d d d dd dd TTT dd d d d d d d d dd dt Z Gruppenzusammenfassung anzeigen print lt h3 gt textluserauto28 lt h3 gt n print lt pre gt n foreach Sschluessel sort keys groupmembers print text userauto29 Sschluessel groupmembers Sschluessel wyn print lt pre gt n print lt hr gt n print lt h3 gt text userauto30 lt h3 gt n print lt pre gt print text userauto3l Suserall wn print text userauto32 Suserallsmb wi print lt pre gt n print lt hr gt n EEE dd dd dd dd dd dd d dd d dd dd dt TT d d d d d d dd tt Z Name der Export Datei anzeigen print lt h3 gt text userauto35 lt h3 gt n print lt pre gt
13. lang de Seite 3 5 usermodl5 deaktivieren usermodl6 l schen usermodl7 Pa wort usermod18 Pa wort lt br gt wiederholung usermodl9 Shell usermod20 Benutzer Daten werden ge ndert usermod21 Samba Daten werden ge ndert usermod22 R ckmeldung der Benutzermodifizierung von lt i gt S1 lt i gt usermod23 zu sekund ren lt br gt Gruppen hinzuf gen usermod24 aus sekund ren lt br gt Gruppen l schen userautol Einstellungen f r die automatische Benutzeranlegung userauto2 Datei mit den Benutzerdaten mit Pfad userauto3 Pfad f r die Datei mit den generierten Benutzerdaten userauto4 Typ der Benutzer userauto5 Trennzeichen in Benutzerdaten userauto6 Format der Benutzerdaten userauto7 Format der generierten Benutzerdaten userauto8 Sch ler userauto9 Lehrer userautol0 Prefix f r Gruppen userauto21 Uberpriifung ob alle Gruppen vorhanden sind userauto22 Die Import Datei liegt nicht im richtigen Format vor oder si e haben ein verkehrtes Feldtrennzeichen angegeben userauto23 Erfolgreich abgeschlossen userauto24 Gruppe lt b gt S1 lt b gt nicht vorhanden 2 userauto25 nicht angelegt userauto26 Samba Benutzer nicht angelegt userauto27 angelegt userauto28 Gruppenubersicht userauto29 Gruppe lt b gt l lt b gt lt b gt 2 lt b gt Mitglied er hinzugef gt userauto30 Ubersicht der angelegten Benutzer userauto3l lt b gt S1 lt b gt Accounts wurden auf dem Server eingerichtet userauto32 lt b gt S1 lt b gt Ac
14. td gt lt tr gt lt tr gt EOP print lt td gt lt b gt hlink Stext group3 group 2 lt b gt lt td gt n print lt lt EOP lt td gt lt input type checkbox checked name chk_groupdir gt lt td gt lt tr gt lt tr gt EOP print lt td gt lt b gt hlink Stext group4 group 3 lt b gt lt td gt n print lt lt EOP lt td gt lt select name pop dir size 1 gt lt option value l gt Sconfig groupdir amp lt Stext group7 amp gt lt option gt lt option selected value 2 gt Sconfig homedir schueler amp lt text group7 amp gt amp lt Stext group7 amp gt lt option gt lt option value 3 gt Sconfig homedir lehrer amp lt text group7 amp gt lt option gt lt select gt lt td gt lt tr gt lt table gt lt br gt lt table border 0 cellspacing 0 cellpadding 5 gt lt tr gt lt td gt amp nbsp lt input type submit value text submitgl gt amp nbsp lt td gt lt td gt amp nbsp lt input type reset value text reset gt amp nbsp lt td gt lt tr gt lt table gt lt form gt lt hr gt EOP Formular und Tabellenende Gd dd dd d dd dd dd dd dd d d dd dd dd dd dd dd dd d d d d d d dd tt Z group cgi group cgi Seite 3 4 t dd dd dd d dd dd dd d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z Beginn Formular Aufrufscript groupdel cgi Method post Felder chk_ Gruppenname Aufrufscript groupmod cgi per Link Methode ge
15. td gt n print lt td gt lt b gt text user20 lt b gt lt td gt n for print lt tr gt n Stempl1 0 Gatemp Gtemp sort keys usersys while Stempl lt temp T print lt tr cb gt n for 1 Sconfig userrow print lt td gt amp nbsp lt a href usermod cgi user temp temp 1 gt temp temp1 lt a gt amp nbs p lt td gt n if Stemp Stempl ne print lt td align center gt lt input type checkbox name chks_ temp temp1 value t emp templ gt lt td gt yn else print lt td gt amp nbsp lt td gt n Stempl t print lt tr gt n etemp print lt table gt n Tabellenende G t dd dd dd dd RR RR d d d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Gd dd dd dd dd dd dd TTT dd d d d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Tabelle f r Buttons print lt lt EOT lt br gt lt table border 0 cellspacing 0 cellpadding 5 gt lt tr gt lt td gt amp nbsp lt input type submit value Stext submitu2 gt amp nbsp lt td gt lt td gt amp nbsp lt input type reset value Stext reset gt amp nbsp lt td gt user cgi Seite 5 5 210 user cgi lt tr gt lt table gt lt form gt lt hr gt EOT Formular und Tabellenende EEE LE EEE 0 0 2 tt amp footer module_name text back1 4 27 useradd cgi Seite 1 4 usr bin perl EEE 0 0 2 EEFEF Script useradd cgi Funktion Legt neuen Benutzer a
16. userdel cgi Seite 2 3 User und Heimatverzeichnis l schen if in rad_homedel eg yes and schluessel chk_ return system userdel r in schluessel gt dev null 2 gt amp 1 256 if return 0 print text userdel3 text return1 print text userdel4 S Stext returnl else print text userdel3 Stext return2 lt b gt hlink RC return systemprogs ud retum lt b gt print text userdel4 Stext return3 Sfehler t EEE HH HH L tttt nur User l schen else return system userdel in schluessel gt dev null 2 gt amp 1 256 if return Di print text userdel3 S text returnl 5 print text userdel4 Stext return3 5 else print text userdel3 Stext return2 lt b gt hlink RC return systemprogs ud retum lt b gt print text userdel4 Stext return3 Sfehler t EEE EHE HH HH BHHrHHH Samba Account l schen return system smbpasswd x t in schluessel gt dev null 2 gt amp 1 256 if return 0 print text userdel5 Stext returnl in else print text userdel5 Stext userdel6 hn print lt pre gt n print lt hr gt n HE Ett tt L tttt Ausgabe von Fehleranzahl if Sfehler print lt h3 gt text userdel7 Sfehler lt h3 gt n print lt hr gt n EEE FEEEEH Ausgabe von Laufzeitdaten
17. Alle Benutzer auf dem System haben Vollzugriff auf das Verzeichnis Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 6 e Spaltenanzahl der Benutzerlisten Die Spaltenanzahl der Tabellen die im Be nutzermanager aufgebaut werden e Spaltenanzahl der Gruppenlisten Die Spaltenanzahl der Tabellen die im Grup penmanager aufgebaut werden e Pfad Dateiname zur Standardshell Sollte bei einem Benutzer die interaktive Anmeldung auf dem System erm glicht werden wird ihm die hier angegebene Shell zugewiesen Bei der Modifizierung eines Benutzers wird diese Shell auch als m gli che Shell angegeben 2 Benutzermanager Der Benutzermanager ist f r die Verwaltung aller Benutzer des Systems gedacht Dabei werden folgende Funktionen bereitgestellt 1 Neuen Benutzer anlegen 2 Benutzer modifizieren und 3 Benutzer l schen Aufgeteilt ist die Seite in drei Teile 1 Eingabefelder und Optionen die f r die Erstellung eines neuen Benutzers n tig sind 2 eine Tabelle mit vorhandenen normalen Benutzern und 3 eine Tabelle mit vorhandenen System Benutzern Ein neuer Benutzer k nnen Sie ber die Einstellungen im oberen Teil spezifizieren und ber den Button Benutzer anlegen angelegen Die Erl uterungen zu den einzelnen Fel dern erhalten Sie in Abschnitt 2 1 1 ber den Button Zur cksetzen k nnen Sie alle Formularfelder auf ihren Ursprungswert zur cksetzen Die nachfolge
18. File Server Der Server wird mit SuSE Linux 7 0 betrieben wobei unter anderem die Dienste Samba und HTTP Server Apache be reitgestellt werden Zur Administration wird das Tool WebMin ber eine verschl sselte Verbindung SSL eingesetzt F r den Einsatz von WebMin ist eine Perl Distribution er forderlich die in der Version 5 005_03 installiert ist Alle Clients der Schule verf gen ber einen JavaScript f higen Webbrowser von Netsca pe Eine FileMaker Pro Datenbank mit den Sch lerdaten befindet sich in der Verwal tung Hieraus k nnen die Felder Vorname Nachname und Klasse als relevante Daten im Macintosh Format exportiert werden Erwartet wird ein Datensatzumfang von ca 550 Sch lern Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumentation seite 3 2 2 Soll Konzept Mit dem zu entwickelnden L sungspaket soll die M glichkeit bestehen die Benutzer und Gruppen effektiv zu verwalten Gruppenverzeichnisse anzulegen sowie zum Schuljahres anfang alle Sch ler schnell und einfach automatisch anzulegen und ein Pa wort zuzu weisen System und Samba Accounts sollen dabei in einem Schritt angelegt modifiziert oder gel scht werden k nnen Die Administrationsoberfl che soll einfach zu erlernen und selbstbeschreibend sein Spezielle Linux Kenntnisse sollen f r die Benutzer und Grup penverwaltung normalerweise nicht erforderlich sein Zus tzlich mu das L
19. Gbackup split Sin pop fieldpattern Sstdline EEE d dd dd dd dd dd dd dd HN EEE Z berpr fung ob Import Datei im richtigen Format vorliegt if S backup lt gt 2 print lt pre gt lt b gt text userauto22 lt b gt lt pre gt n Sfehler 1 last BERN dd dE dd dd d dd d d dd dd TT d d d d d d dd tt Z Ersetzen von deutschen Umlauten und 8 L schen von einigen Sonderzeichen Sstdline s oe g Sstdline s ae g Sstdline s ue g Sstdline s Oe g Sstdline s Ae g stdline s U Ue g Sstdline s R ss g sstdline s I g temp split Sin pop_fieldpattern Sstdline Stemp 2 s la z0 9 S S1 gi EEE d dd dd dd dd dd dd dd d d HN TT d d d d d d d dd Z wenn Gruppenprefix angegeben wird der Gruppe das Prefix vorangest userauto2 cgi userauto2 cgi Seite 4 7 ellt und die Gruppe in zweistelliger Nummer ausgegeben if Sin txt_prefix if Stemp 2 d w Stemp 2 in txt_prefix O temp 2 Sgroupmembers temp 2 tr else Stemp 2 Sin txt_prefix Stemp 2 Sgroupmembers temp 2 tr else Sgroupmembers Stemp 2 tr EEE dd dd dd dd dd dd HN TT d d d d d d dd tt Z schreibe erzeugte Daten in tempor re Datei print OUTPUT join in pop_fieldpattern Stemp vname Stemp nname backup vname backup nname Stemp ugroup wm close INPUT close OUTPUT Gd dd dd dd d dd RR RR dd d d d d dd dd
20. HH HH L tttt Bibliotheken einbinden do web lib pl amp init_config Gd dd dd dd dd d RR d d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z Start der HTML Ausgabe amp header Stext titel usermgr 1 1 undef lt nobr gt Written by lt nobr gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt hr gt n print lt p gt lt b gt n HE LE dd dd TU TT L it Pr fung der Konfigurationseinstellungen if Sconfig homedir_schueler eg or not d Sconfig homedir schueler print text indexl text index2 lt br gt n Sfehler t Sconfig homedir_ lehrer eg or not d Sconfig homedir lehrer print text indexl text index3 lt br gt n Sfehler t Sconfig groupdir eg or not d Sconfig groupdir print text indexl text index4 lt br gt n Sfehler t Sconfig skelshell eg or not d Sconfig skelshell print text indexl1 text index5 lt br gt n Sfehler t Sconfig skelnoshell eq or not d Sconfig skelnoshell print text indexl text index6 lt br gt n Sfehler t Sconfig homedir_perms eq or config homedir_perms 7 015 7 2 print text index7 lt br gt n Sfehler t
21. Macintosh Systemen vorliegt automatisch Accounts sowohl f r den Linux als auch f r den Samba Server zu erstellen ein generiertes Pa wort zuweist und eine Gruppenzuweisung anhand der Klasse vornimmt Die erzeugten Benut zerdaten sollen in eine Textdatei gespeichert werden Gew nscht ist au erdem eine L sung die netzwerkf hig ist so da sich eine Integration in die WebMin Oberfl che anbie tet da diese Administrationsoberfl che auf den beiden File sowie dem Kommunikations Servern eingesetzt und eine einheitliche Administrationsoberfl che der Server angestrebt wird 1 2 Wunschkriterien W nschenswert ist die Integration des L sungspakets in die Administrationsinfrastruktur anderer Schulen mit Linux Servern so da sichergestellt werden sollte da die L sung auf den unterschiedlichen Linux Distributionen eingesetzt und an die Systemrichtlinien der einzelnen Schulen angepa t werden kann Zus tzlich w re w nschenswert da die Benutzerliste auch im Dateiformat und kodierung von Microsoft Windows Systemen ver arbeitet werden kann 1 3 Abgrenzungskriterien Das zu erstellende L sungspaket soll die Benutzerverwaltung von WebMin nicht ersetzen sondern nur erg nzen Der Funktionsumfang soll auf den Bereich einschr nkt werden der bei den blichen Administrationsaufgaben n tig ist um die Wahrscheinlichkeit von Anwendungsfehlern zu minimieren 1 4 Fertigungstellungstermin Als Termin f r die Implementierung au
22. auf getreten Programm chown RC 1 Beim ndern der Benutzer und Gruppenzugeh rigkeit Befehl chown ist ein Fehler aufgetreten Programm mkdir RC 1 Beim Erstellen eines neuen Verzeichnisses Befehl mkdir ist ein Fehler aufge treten Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 22 Programm rm RC 1 Beim L schen Befehl rm ist ein Fehler aufgetreten Programm cp RC 1 Bei dem Kopieren Befehl cp ist ein Fehler aufgetreten Programm recode RC 1 Bei der Ausf hrung des Programms recode ist ein Fehler aufgetreten Wenn Sie dieses Modul das erste Mal benutzen berpr fen Sie bitte ob ihr Programm recode die neue Syntax verwendet recode Z91 Z92 anstelle von recode ZS1 Z92 Tobias Brinkert 28 Februar 2001 Anlage III systemdokumentation oystemdokumenftafion zum WebMin Modul Benutzer und Gruppenmanager Version 0 2 0 Tobias Brinkert eMail t brinkert215bit de Internet www l5bit de 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Systemdokumenftafion Seite 2 Inhaltsverzeichnis 1 Beschreibung der einzelnen Scripte uu 3 1 1 Script NOSXK EU i een een ae DD 3 1 2 Script USGECOl eis 3 1 3 Script useradd cgi nenn nun nun nn nn nn nun nn nun nn n
23. d d d d d dd dd dd dd dd dd d d d d d d d dd tt aad Bibliotheken einbinden do web lib pl amp init_config Gd dd dd dd dd d RR d d d d d dd dd dd dd dd dd d d d d d d d dd tt EFEFH Start der HTML Ausgabe amp header Stext titelal userauto undef undef undef lt nobr gt Written by lt nobr gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt EEE 0 0 2 EHEEF Beginn Formular Aufrufscript userauto2 cgi Method post Felder txt_import Datei mit Benutzerdaten txt_export Pfad f r Ausgabedaten rad_usertyp Benutzertyp s t pop fieldpattern Datensatztrennzeichen 1 1TAB pop importtyp Import Dateiformat Linux Windows Mac bop exporttyp Export Dateiformat Linux Windows Mac Lxt prefix Prefix der vor die Gruppen angeh ngt wird print lt lt EOP lt hr gt lt p gt lt h3 gt Stext userautol lt h3 gt lt form action userauto2 cgi method post gt lt table border 0 cellpadding 5 cellspacing 0 Sch width 100 gt lt tr gt EOP print lt td gt lt b gt hlink text userauto2 userautoffl lt b gt lt td gt n print lt td gt lt input type text maxlength 100 name txt_import size 40 gt amp nbspjAn print amp file_chooser_button txt_imp
24. des Fehlers erhalten Sollten Fehler beim L schen von Gruppen auftreten wird eine entsprechende Meldung mit der Gesamtzahl der Fehler ausgegeben Zum Abschlu werden noch Laufzeit Daten ber die Scriptausf hrung wiedergegeben 10 Mehrere Benutzer anlegen Dieses Modul erm glicht es schnell und einfach viele Benutzer auf einem Server mit Hilfe einer Listendatei anzulegen Hierf r mu die Listendatei folgende Daten f r jeden anzu legenden Benutzer enthalten 1 Vorname 2 Nachname 3 Gruppe Diese drei Eigenschaften m ssen jeweils mit einem Trennzeichen in einer Zeile stehen M gliche Trennzeichen sind ch i und Dabei m ssen die Trennzeichen in nerhalb der Datei immer gleich sein und es darf pro Zeile nur ein Datensatz enthalten sein auch keine Kommentare oder hnliches Die ganze Datei darf keine weiteren Daten enthalten Da die Benutzerdaten von einem anderen Betriebssystem als Linux stammen k nnten und die weitere Verarbeitung der generierten Benutzerdaten auch auf einem anderen Be triebssystem stattfinden kann mu das Ursprungs und Zielbetriebssystem f r die beiden Dateien angegeben werden da die Textdateien unter den verschiedenen Betriebssystemen andere Zeichens tze verwenden Wird ein Prefix f r Gruppen angegeben wird der Gruppe des Benutzers die in der Listen datei eingetragen ist dieses Prefix vorangestellt s u Alle Gruppen die den Benutzern zugewiesen werden s
25. erlaubt Standardshell userl2 Samba Benutzer einrichten userl3 ja userl4 nein userl5 Heimatverzeichnis erstellen userl16 Pa wort automatisch generieren userl7 Prim re Gruppe userl8 Heimatverzeichnis l schen userl19 Benutzer user20 L schen useraddl Pa wort wird generiert useradd2 Das Pa wort lautet useradd3 Die beiden angegebenen Pa w rter stimmen nicht berein Bitte wiederholen Sie Ihre Eingaben useradd4 Benutzer lt i gt l lt i gt wird angelegt useradd5 Die prim re Gruppe ist useradd6 Das Heimatverzeichnis befindet sich unter useradd7 Samba Benutzer wird eingerichtet useradd8 Pa wort eingeben useradd9 Pa wortwiederholung userdell Angegebene Benutzer werden gel scht userdel2 Benutzer lt b gt 1 lt b gt userdel3 aus System l schen lt b gt S1 lt b gt userdel4 Heimatverzeichnis l schen lt b gt S1 lt b gt userdel5 aus Samba l schen lt b gt S1 lt b gt userdel6 nicht vorhanden userdel7 Es sind beim L schen lt b gt S1 lt b gt Fehler aufgetreten usermodl Benutzer Details f r lt i gt S1 lt i gt usermod2 Accountname usermod3 Benutzer ID uid usermod4 Realer Name usermod5 Prim re Gruppe usermod6 Heimatverzeichnis usermod sekund re Gruppen usermod8 Shell usermod9 Benutzer Daten ndern f r lt i gt S1 lt i gt usermodl10 Pa wort ndern usermodl1 Samba lt br gt Account usermodl2 keine nderung usermodl3 anlegen und aktivieren usermodl4 aktivieren
26. lt b gt text groups lt b gt lt td gt n print lt tr gt n Stempl 0 12 27 group cgi Seite 4 4 while Stempl lt groupsys T print lt tr cb gt n for l 9Sconfigigrouprow d print lt td gt amp nbsp lt a href groupmod cgi group groupsys temp1 gt groupsys templ lt a gt amp nbsp lt td gt n if Sgroupsys Stempl ne print lt td align center gt lt input type checkbox name chk_ groupsys templ value groupsys temp1 gt lt td gt n else print lt td gt amp nbsp lt td gt n Stempl t print lt tr gt n print lt table gt n Tabellenende G tt dd dd dd dd dd dd d d d d d dd dd dd dd dd dd d d d d d d d dd Z tt dd dd d dd dd dd dd d d d d dd dd dd dd dd dd d d d d d d d d dd Z Tabelle f r Buttons print lt lt EOP lt br gt lt table border 0 cellspacing 0 cellpadding 5 gt lt tr gt lt td gt amp nbsp lt input type submit value text submitg 2 gt amp nbsp lt td gt lt td gt amp nbsp lt input type reset value text reset gt amp nbsp lt td gt lt tr gt lt table gt lt form gt lt hr gt EOP Formular und Tabellenende Gd dd dd d dd dd RR d d d d d dd dd dd dd dd dd d d d d d d d d dd tt EFEFH amp footer module_name Stext back1 groupadd cgi Seite 1 3 usr bin perl ERENTO nRnPTTH Script groupadd cgi Funktion Legt eine neue Gruppe an Aufgeruf
27. name pop_group size 1 gt n print lt option selected gt lt option gt n groups amp getgroups normal foreach sort keys groups print lt option gt _ lt option gt n print lt select gt n print lt td gt n print lt td gt lt b gt hlink text user16 user 4 lt b gt lt td gt n print lt td gt lt input type radio name rad_passwd value yes checked gt amp nbsp text user13 lt br gt n print lt input type radio name rad_passwd value sno gt amp nbsp text user14 n print lt td gt n print lt tr gt n print lt tr gt n print lt td gt lt b gt hlink Stext user6 userf5 lt b gt lt td gt n print lt td gt lt input type radio name rad_usertyp value s checked gt amp nbsp text user7 lt br gt n print lt input type radio name rad_usertyp value t gt amp nbsp text user8 n print lt td gt n print lt td gt lt b gt hlink text user9 user 6 lt b gt lt td gt n print lt td gt lt input type radio name rad_shell value VbinVfalse checked gt amp nbsp text user10 lt b r gt n print lt input type radio name rad_shell value config stdshell gt amp nbsp text userl1 config stds hell n print lt td gt n print lt tr gt n print lt tr gt n print lt td gt lt b gt hlink Stext userl2 user 7 lt b gt lt td gt n print lt td gt lt input type radio name
28. print text userauto36 lt b gt exportname lt b gt n print lt pre gt print lt hr gt n EHRE L tZttt Tempor re Dateien l schen system rm tempnamel 2 gt dev null system rm tempname2 2 gt dev null nnRnRnnRRiRiniidiT idi ii ii RR RR tt tt nni RTUT Ausgabe von Laufzeitdaten 22 27 userauto2 cgi Seite 7 7 Seite 1 5 titel Benutzer Gruppenmanager print lt h3 gt textltimel lt h3 gt n print lt pre gt itelglzGruppenmanager endtime times itelg2 Gruppe anlegen print text time2 Sendtime 0 starttime itelg3 Gruppe modifizieren print text time3 Sendtime l Sstarttime 2 itelg4 Gruppe l schen print text time4 endtime 2 starttime i print text time5 endtime 3 starttime itelul Benutzermanager print lt pre gt n itelu2 Benutzer anlegen print lt hr gt n itelu3 Benutzer modifizieren amp footer module_name text back1 itelu4 Benutzer l schen itelal Mehrere Benutzer anlegen itela2 Mehrere Benutzer anlegen imagel Benutzermanager image2 Gruppenmanager image3 Automatische Benutzeranlegung imgaltl Benutzer imgalt2 Gruppe imgalt3 Auto Benutzer returnl erfolgt return2 gescheitert return3 ausgelassen auswahll ja auswahl2 nein back1 Ubersicht back2 Gruppenmanager back3 Benutzermanager back4 Konfiguration f r die automatische Benutzeranlegung indexl Sie haben keinen oder einen nicht existierenden Pf
29. text userl9 lt b gt lt td gt n print lt td gt lt b gt text user20 lt b gt lt td gt n print lt tr gt n temp sort keys usernor while Stempl lt temp print lt tr cb gt n for 1 Sconfig userrow print lt td gt amp nbsp lt a href usermod cgi user temp temp1 gt temp templ lt a gt amp nbsp lt td gt n if Stemp Stempl ne print lt td align center gt lt input type checkbox name chk_ temp temp1 value te mp temp1 gt amp nbsp lt td gt n else print lt td gt amp nbsp lt td gt n Stempl t print lt tr gt n print lt lt EOP lt table gt lt br gt lt table border 0 Sch cellpadding 5 cellspacing 0 gt lt tr gt EOP 3 27 user cgi Seite 4 5 print lt td gt lt b gt lt b gt lt td gt n print lt lt EOP lt td gt lt input type radio name rad_homedel checked value yes gt amp nbsp Stext us er13 lt br gt lt input type radio name rad_homedel value no gt amp nbsp text userl4 lt td gt lt tr gt lt table gt lt hr gt EOP Tabellenende d tt dd dd dd dd dd dd dt d dd dd dt BHHHHH ENTER BHHHHH Ausgabe der Systembenutzer Tabelle hlink Stext userl8 user 9 print lt h3 gt textluser2 lt h3 gt n print lt table border width 100 gt n print lt tr tb align center gt n 1 Sconfig userrow print lt td gt lt b gt textluser19 lt b gt lt
30. version lt b gt lt nobr gt print lt hr gt n print lt p gt n dd dd dd dd dd d RR d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z Beginn Formular Aufrufscript useradd cgi Method post Felder txt_username txt_realname pop group rad_passwd lt nobr gt Written by lt nobr gt lt Accountname Realer Name prim re Gruppe Pa wort generieren yes no 2 27 user cgi Seite 2 5 rad usertyp Benutzertyp s t rad shell Shell zuweisen bin false stdshell rad_smb Samba Account yes no rad_skel Heimatverzeichnis erstellen yes no print lt form action useradd cgi method post gt n L dd dt d dt d dt d dt dd d dd d dd d dd d dt dd dt dd dt Z g Ausgabe der Tabelle f r das Anlegen einers neuen Benutzers print lt h3 gt textluser3 lt h3 gt n print lt table border 0 width 100 Sch cellpadding 5 cellspacing 0 gt n print lt tr gt n print lt td gt lt b gt hlink text user4 userfl lt b gt lt td gt n print lt td gt lt input type text maxlength 15 name txt_username size 20 gt lt td gt n print lt td gt lt b gt hlink text user5 userf2 lt b gt lt td gt n print lt td gt lt input type text maxlength 50 name txt_realname size 25 gt lt td gt n print lt tr gt n print lt tr gt n print lt td gt lt b gt hlink text user17 user 3 lt b gt lt td gt n print lt td gt lt select
31. werden keine nderungen am Samba Account vorgenommen anlegen und aktivieren F r den Benutzer wird ein neuer Samba Account mit dem angegebenen Pa wort eingerichtet Sollte der Benutzer schon vorhanden sein wird der Account aktiviert und auf das neue Pa wort gesetzt Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 12 aktivieren Hiermit kann ein gesperrter Samba Account wieder aktiviert werden Account Name und Pa wort bleiben erhalten deaktivieren Den Samba Account des Benutzers sperren Dabei bleibt der Account Name und das Pa wort erhalten Authentifizierungen gegen ber dem Samba Server werden zur ckgewiesen Pa wort ndern Das Pa wort f r den Samba Account ndern siehe Pa wort und Pa wortwiederholung l schen L schen des Samba Accounts der Account mu vorhanden sein Shell Das Dropdown Feld zeigt die Shells die dem Benutzer zugewiesen werden k n nen Standardm ig enth lt die Liste nur zwei Shells bin false und die in der Konfiguration des Benutzer und Gruppenmanagers angegebene Standardshell Sollte der Benutzer derzeit eine andere Shell benutzen wird diese Shell der Liste hinzugef gt 5 Benutzer l schen Die Benutzer die im Benutzermanager zum L schen markiert wurden werden jetzt ge l scht Hierbei wird f r jeden Benutzer der Status der Accountentfernung angezeigt Der Status setzt ach aus drei Werten zusammen
32. z hlen der Anmelde und realer Name die prim re Gruppe ob f r den Benutzer ein Pa wort generiert das Heimat verzeichnis erstellt und ein Samba Account eingerichtet werden soll die Zuweisung einer Shell und die Mitgliedschaft in einer prim ren Gruppe Der Typ des Benutzers legt fest wo im Verzeichnisbaum das Heimatverzeichnis angelegt werden soll Sollte die Generie rung eines Pa wortes nicht erw nscht sein bernimmt diese Funktion die Eingabemaske f r das Pa wort und die Pa wortvalidierung Nach der berpr fung der Eigenschaften legt diese Funktion den neuen Benutzer an oder gibt eine Fehlermeldung aus 4 1 2 Subfunktion 2 Benutzer modifizieren F1 2 Diese Funktion listet Detailinformationen zu einem Benutzer auf und bietet die M glich keit den Benutzer zu modifizieren Dabei erh lt es die erforderlichen Werte entweder ber F1 0 nur Benutzernamen oder bei einer Modifizierung ber sich selbst Dabei k nnen das Pa wort sowohl f r den System als auch f r den Samba Account ver ndert werden die Zugeh rigkeit zu den einzelnen Gruppen prim re und sekund re modifiziert und die Ei genschaften des Samba Accounts ge ndert werden 4 1 3 Subfunktion 3 Benutzer l schen F1 3 ber F1 0 werden dieser Subfunktion die Benutzer bergeben die aus dem System ge l scht werden sollen Dabei besteht bei normalen Benutzern die M glichkeit das Hei matverzeichnis mit zu l schen wobei dieses ber eine Option in F1 0
33. 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion seite A Aufgrund des Pro Kontra Vergleichs wurde eine Implementierung als Modul in das Admi nistrationsprogramm WebMin angestrebt Dieses begr ndet sich vor allem im geringeren Aufwand f r Systemmodifikationen und der Sicherheit SSL Verbindung sowie die Erhal tung des Wrappers Zus tzlich wird f r das Produkt eine h here Akzeptanz und schnel lere Erlernbarkeit erwartet da WebMin schon auf allen Servern eingesetzt wird und eine einheitliche Administrationsoberfl che geschaffen wird Um die WebMin API verwenden zu k nnen wird f r die Implementierung die Interpreter Sprache Perl eingesetzt 2 4 Pflichtenheft Das Pflichtenheft ist vollst ndig als Anlage in Kapitel 7 Anlage 1 einzusehen 2 5 Programmentwurf Der notwendige Programmentwurf wurde als Sitemap entwickelt und ist im Anhang Kapi tel 6 1 beigef gt Diese diente als Grundlage f r die programmiertechnische Realisierung 3 Entwicklung 3 1 Voraussetzungen Voraussetzung f r die Entwicklung ist ein Linux Server und ein Client mit Webbrowser Um die sp tere Produktumgebung nachbilden zu k nnen wurde auf den Server eine Su SE Linux Distribution Version 7 0 WebMin Version 0 83 und Perl Version 5 005_03 aufge spielt Der Client wurde mit SuSE Linux Version 7 0 WebMin Version 0 81 und Perl Ver sion 5 005_03 betrieben da in der Testphase das Produkt auf dies
34. 27 groupadd cgi Seite 2 3 elsif Sin pop dir 3 Stempl Sconfig homedir lehrer in txt_groupname else Stempl Sconfig homedir schueler in txt_groupname in txt_groupname if e Stempl error text fehlerga3l lt i gt temp3 lt i gt Stext fehlerga32 exit ENTE NT dd dd dd dd dt BHHHHH berpr fung ob die bergebene Gruppe schon vorhanden ist groups getgroups foreach keys groups if Sin txt_groupname eg S_ error Stext fehlerga2 exit tt dd dd d dd dd dd dd d d d d dd dd dd dd dd dd dd d d d d d d dd tt Z Start der HTML Ausgabe amp header Stext titelg2 groupadd undef undef undef lt nobr gt Written by lt no br gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt hr gt n print lt p gt n print lt pre gt n print text groupaddl Sin txt_groupname FETHEL HLR HEFEFH Anlegen der Gruppe return system groupadd in txt_groupname gt dev null2 gt amp 1 256 if return Di print lt b gt text retuml lt b gt un else print lt b gt text return2 hlink RC return systemprogs ga retum lt b gt n ERENTO FEEHEF Anlegen des
35. Gruppenverzeichnisses if Sin chk groupdir eg on and Sreturn 0 print text groupadd2 return system mkdir p m config groupdir_perms templ gt dev null 2 gt amp 1 256 if return 0 print lt b gt text return1 temp1 lt b gt n print text groupadd3 Sreturn system chown in txt_groupname templ gt dev null 2 gt amp 1 256 if return 0 groupadd cgi groupadd cgi Seite 3 3 print lt b gt text return1 lt b gt n else print lt b gt text retum2 hlink RC return systemprogs cw retum lt b gt n else print lt b gt text groupadd3 hlink RC return systemprogsffmk return temp3 lt b gt n print text groupadd3 lt b gt text return3 lt b gt n elsif Sin chk groupdir print text groupadd2 lt b gt text return3 lt b gt in print text groupadd3 lt b gt text return3 lt b gt n print lt pre gt n print lt hr gt n amp footer module_name group cgi Stext back2 14 27 groupmod cgi Seite 1 5 usr bin perl Gd dd dd d dd dd dd dd d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Script groupmod cgi Funktion Zeigt Gruppen Details und modifiziert sekund re Gruppenmitglieder Aufgerufen von group cgi Werte group groupmod cgi Werte pop_useradd Liste der User die zur Gruppe hinzugef gt werden sollen pop_userdel Liste der U
36. NEE ENEE ENEE ENEE ENEE ENEE ENEE ENER ENER ENER ER 4 1 4 Konfiguration suuusse nun aan anna nn 4 2 Benutzermandge r GG GL AA 6 2 1 Beschreibung der Felder LL Au 7 2 1 1 Neuen Benutzer anlegen 222sssssnnnnnnnnnnnnnnnn AA nn nn nn nn 2 1 2 Benutzer schen 8 Benutzer anlegen nun nenn nn nenn nun nun nn 8 Benutzer mocdftzieren nun nun nn 9 4 1 Beschreibung der einzelnen Felder z22222nnnnnnnnnnnn nennen nn 9 El a a a een 9 4 1 2 Benutzer Daten andern 10 5 Benutzer l schen ea errungen 12 6 Gruppenmanadger ea 13 6 1 Beschreibung der Feider 14 6 1 1 Neue Gruppe anlegen 7 7 AAA A A A nn nn nn nn nn nn 14 Gruppe Oonleden RR A RR AE A EE EE nn nn 14 8 Gr ppemodifizieren LL III uu 15 8 1 Beschreibung der einzelnen Felder VY io 15 zb EAR ieo AER ue UNENEE 15 8 1 2 5ekunddre Gruppenmitglieder ndern FFF FFA A nn 16 9 Gruppeloschen nn nun FF GG n nun nun nn 16 10 Mehrere Benutzer onlegen nenn 17 10 1 Beschreibung der einzelnen Felder Y YY Y uu 18 11 Status der automatischen Benutzeranlegung 19 12 R ckgabecodes von Systemprogrammen c 20 Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 oeite 3 1 Benutzer und Gruppenmanager
37. Projektarbeit Sommer 2001 BILDUNG Erstellung eines L sungspakets zur Benutzerverwaltung auf einem Linux Server Name Tobias Brinkert Ausbildungsberuf Fachinformatiker FR Systemintegration Ausbildungsbetrieb Bildungszentrum Dortmund Abgabedatum 30 03 2001 Azub Identnr XXXXXX Inhaltsverzeichnis 6 3 6 4 6 5 1 Beschreibung des Auftrages nenn nn nenn 1 LI PODESI e RE ME EENS EE 1 3 Technische Schnittstelle und Implementierung 2 1 4 nderungen gegen ber dem Prolektontrog nennen 2 2 _ Konzepterstellung und Planung nennen A 2 2 1 FOD Y Y SR YT Y NC SC 2 2 2 SOlFKOENZBD een 3 2 3 Systemintegrationskonzept nennen nennen nun 3 2 4 Piichienbett nun nenne nenne nenn 4 2 9 Programmen Wu een 4 3 Entwicklung oe an ae ee GR NO SR Y DG A 3 1 Vorousselzungden nun nun A nn 4 3 2 Entwicklungsphasen LG Lu 4 CAES lee piane e E EE EE EE EE EE EE Ee 5 3 2 2 Benutzermanager aaa 5 3 2 3 Automatische Benutzeroniecung VM A288 ARA 7 E a EIERN 3 3 Automatische Pa Bwortgenerierung nn nn 8 3 4 Sicherheits und Zugrittskonzepnt dd 8 3 5 Qualit tssicherung und Fregoobe nn nun 9 Soll lst Vergleich Y Y RR nn nun nun nn nenn uu 9 2 Te EE 10 Se a ie e E 11 Bi Seen 11 eM ee EEN 12 6 2 1 Funktion zur Pa wortgenerierung aus der Bibliothek usermgr lib pl 12 6 2 2 Ausschnitt Generierung des Anmeldenamens aus userauto2
38. RR RR d d d d d d dd dd dd dd dd dd d d d d d d dd tt Z EE EE groupdel cgi Funktion L scht Gruppen Aufgerufen von group cgi Werte chk zs Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 Gd dd dd dd dd d dd dd d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z Gruppenname Z d Le dd Verwendete Variablen local my Sschluessel Zwischenspeichervariable f r foreach Schleife Sreturn Variable f r R ckgabewert von Systemaufrufen Sfehler Z hler f r Fehler 0 my starttime times Startzeitwerte speichern my Gendtime Array fur Endzeitwerte HH HH HH L tttt EHE HH HH HH L tttt Bibliotheken einbinden do web lib pl amp init_config ReadParse BERN RR d d d d d dd dd dd dd dd dd d d d d d d d dd dt ad Start der HTML Ausgabe amp header Stext titelg4 groupdel undef undef undef lt nobr gt Written by lt no br gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt hr gt n print lt p gt n print lt h3 gt text groupdell lt h3 gt un print lt hr gt n print lt h3 gt text groupdel2 lt h3 gt n print lt pre gt n ERENTO FEEEEH L schen der Gruppen foreach Sschluessel
39. Sconfig groupdir_perms eg or Sconfig groupdir_perms 77 0 517 S 4 print text index8 lt br gt n Sfehler tt 1 27 index cgi Seite 3 3 if Sconfig userrow d or Sconfig userrow lt 1 or Sconfig userrow gt 10 print text index9 lt br gt n Sfehler t if Sceonfigf grouprow Le d or Sconfigfgrouprow lt 1 or Sconfig grouprow gt 10 print text indexl0 lt br gt un Sfehler t if Sconfig stdshell eg or not x Sconfig stdshell print text indexll lt br gt un Sfehler t BER dd d dd dd dd dd d d d d dd dd dd dd dd dd dd d d d d d d dd dt Zi berpr fung ob alle ben tigten Systemprogramme ausgef hrt werden k nn en foreach programms unless has_command S_ print text index12 _ Sprogfehlert lt br gt n EEE 0 0 2 EEFEF Ausgabe des Men s e vorhanden sind andernfalls die Anzahl der Fehler und Hinweis auf die Konfiguration if Sfehler 0 and Sprogfehler 0 Gtitles Stext imagel Stext image2 Stext image3 icons_table links titles icons 3 falls Konfiguration korrekt und alle Systemprogramm else if Sfehler print lt hr gt n print lt h3 gt text index13 S Sfehler lt a href config cgi module_name gt lt a gt lt h3 gt elsif Sprogfehler print lt hr gt n print lt h3 gt text index14 Sprogfehler print text index15 Sgconfig path l
40. Script groupadd cgi Funktion Legt eine neue Gruppe an verkn pfte Scripte group cgi index cgi help cgi 1 8 Script groupmod cgi Funktion Zeigt Gruppen Details und modifiziert sekund re Gruppenmitglieder verkn pfte Scripte groupmod cgi group cgi index cgi help cgi 1 9 Script groupdel cgi Funktion L scht Gruppen verkn pfte Scripte group cgi index cgi help cgi 1 10 Script userauto cgi Funktion Eingeben der Daten f r die automatische Benutzergenerierung verkn pfte Scripte userauto2 cgi index cgi help cgi 1 11 Script userauto2 cgi Funktion Legt neuen Benutzer automatisch an verkn pfte Scripte index cgi help cgi 2 Bibliotheksfunktionen in usermgr lib pl 2 1 Funktion passwdgen bergabewert String Name R ckgabewert String generierter Pa wortstring Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungsoaketes zur Benutzerverwaltung auf einem Linux Server Systemdokumenfafion Seite 5 Beschreibung Diese Funktion generiert einen zuf lligen String der als Pa wort weiter verwendet werden kann Dabei wird zuerst versucht den bergebenen Namen mit Hilfe des Soundex Algorithmus zu packen Ist dieses erfolgreich werden die rest lichen Zeichen bis zur eingestellten Pa wortl nge in maxlength zuf llig erzeugt ansonsten wird der gesamte R ckgabestring zuf llig erzeugt 2 2 Funktion getgroups bergabewert normal system Gruppentyp optional R
41. achname und Gruppe wobei sich in jeder Zeile der Datei nur ein Datensatz befinden darf M gliche Dateiformate sowohl f r die Import als auch f r die Export Datei sind Linux Macintosh DOS und MS Windows Umgesetzt ins Linux Format werden diese mit Hilfe des Programms recode Als Feldtrennzeichen k nnen Kommata Semikola Doppelpunkte oder Rauten Nummern zeichen eingesetzt werden wobei nur eines dieser Feldtrennzeichen in einer Import Datei verwendet werden darf In der Export Datei wird das gleiche Feldtrennzeichen wie in der Import Datei verwendet Das Script zur automatischen Benutzeranlegung berpr ft zuerst die bergebenen Werte und das Vorhandensein der ben tigten Gruppen F r die Gruppennamen kann ein Prefix in den Konfigurationseinstellungen angegeben werden Sollte hier ein Wert eingetragen sein und der Gruppenname in der Import Datei nur aus einer Ziffer und einem Buchstaben bestehen wird der Ziffer eine 0 vorangestellt um eine zweistellige Ziffer zu erhalten Der Accountname wird aus Vor und Nachname gebildet wobei dieser maximal 12 Zeichen lang sein darf und in Kleinbuchstaben umgewandelt wird Dabei wird zuerst versucht einen Accountnamen aus dem 1 Buchstaben des Vornamens und dem Nachnamen zu bil den danach aus den ersten beiden Buchstaben des Vornamens und dem Nachnamen usw siehe Struktogramm im Anhang Kapitel 6 2 2 Sollte kein eindeutiger Anmeldename generiert werden k nnen wird der Benutzer n
42. ad zu den l a ngegeben index2 Sch ler Heimatverzeichnissen index3 Lehrer Heimatverzeichnissen index4 Gruppenverzeichnissen index5 Profildateien f r neue Benutzer die eine Shell zugewiesen bekom men index6 Profildateien f r neue Benutzer die keine Shell zugewiesen beko mmen index7 Zugriffsrechte f r neue Heimatverzeichnisse fehlerhaft es sind nur die Werte 700 750 1755 770 775 und 777 erlaubt index8 Zugriffsrechte f r neue Gruppenverzeichnisse fehlerhaft es sind zur die Werte 770 775 und 777 erlaubt index9 Die Spaltenanzahl f r die Benutzertabellen mu eine Zahl gr er 0 sein index10 Die Spaltenanzahl f r die Gruppentabellen mu eine Zahl gr er 0 sein indexll Sie haben keine oder eine nicht ausf hrbare Datei als Standards hell angegeben indexl2 Systemprogramm lt i gt l lt i gt im Pfad nicht gefunden index13 Es gibt lt i gt S1 lt i gt Fehler in der Konfiguration 2 Bitte konfigu rieren Sie das Modul neu 3 userauto2 cgi lang de 23 27 Seite 2 5 index14 Es gibt lt i gt S1 lt i gt ben tigte Systemprogramme die im Suchpfad ni cht gefunden werden konnten Bitte berpr fen Sie ihr System indexl5 Suchpfad 1 userl Vorhandene Benutzer user2 Vorhandene Systembenutzer user3 Neuen Benutzer anlegen user4 Accountname user5 Realer Name user6 Typ des Benutzers user Sch ler user8 Lehrer user9 Anmeldung direkt auf Server userl0 nicht erlaubt userll
43. amt stehen 65535 UIDs f r Accounts zur Verf gung f r normale Accounts bleiben 65434 UIDs Realer Name Der Vor und Nachname des Benutzers dem dieser Account geh rt Bei System Accounts wird hier h ufig eine Beschreibung der Funktion des Accounts an gegeben Prim re Gruppe Unter Unix Betriebssystemen besteht ein Gruppenzwang das hei t da jeder Benutzer mindestens einer Gruppe zugeordnet werden mu Die Haupt gruppe eines Benutzers womit er bei der Anmeldung initialisiert wird wird prim re oder Initial Gruppe genannt Alle Dateien die der Benutzer anlegt werden dieser Gruppe zugeordnet Der Benutzer kann Dateien die ihm selbst geh ren anderen Gruppen zuordnen falls er Mitglied der anderen Gruppe ist jedoch kann zu jeder Datei oder Verzeichnis nur eine Gruppe zugeordnet werden sekund re Gruppen Die Gruppen in denen der Benutzer zus tzlich zur prim ren Grup pe Mitglied ist Heimatverzeichnis Der Pfad zum Heimatverzeichnis des Benutzers Shell Die Shell die dem Benutzer f r die Anmeldung zugewiesen wurde Reale Shells z B bin bash sind nur f r Benutzer notwendig die sich direkt oder per Telnet SSH an dieser Maschine anmelden sollen F r Benutzer die nur einen Account auf dieser Maschine ben tigen um Netzwerkdienste zu benutzen z B Samba Mail FTP sollte die Shell bin false zugewiesen werden da damit eine direkte Anmeldung oder eine Anmeldung per Telnet SSH nicht erm glicht wird
44. angegeben wird die standardm ig aktiviert ist Jede L schaktion wird mit Statusmeldungen direkt im Brow serfenster ausgegeben 4 2 Produktfunktion 2 Gruppenverwaltung F2 0 Die tabellarische Darstellung der im System vorhandenen Gruppen wird von dieser Funk tion bernommen Dabei wird zwischen normalen Gruppen und System Gruppen unter schieden Die erforderlichen Parameter f r F2 1 und F2 3 k nnen ber diese Funktion Tobias Brinkert 12 Februar 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft Seite 6 eingetragen werden F2 2 wird mittels eines Links der Gruppenname bergeben Aufge rufen werden F2 1 F2 2 und F2 3 ber diese Funktion 4 2 1 Subfunktion 1 Gruppen anlegen F2 1 ber F2 0 erh lt diese Funktion die Eigenschaften einer neuen Gruppe Dazu z hlen der Gruppenname ob die Anlegung eines Gruppenverzeichnisses gew nscht ist und eine Aus wahl wo sich dieses dann befinden soll Nach der berpr fung der Eigenschaften legt diese Funktion die neue Gruppe an oder gibt eine Fehlermeldung aus 4 2 2 Subfunktion 2 Gruppen modifizieren F2 2 Detailinformationen und Modifizierungen der Gruppe werden ber die Funktion ausge geben bzw realisiert Dabei erh lt es die erforderlichen Werte entweder ber F2 0 nur Gruppenname oder bei einer Modifizierung ber sich selbst F r die Gruppenmodifizie rung steht nur die M glichkeit offen der Gruppe sekund re Mi
45. bsp lt option gt lt option value gt amp nbsp amp nbsp amp nbsp amp nbsp lt option gt lt select gt lt td gt lt tr gt lt tr gt EOP print lt td gt lt b gt hlink text userauto6 userautoff5 lt b gt lt td gt n print lt lt EOP lt td gt lt select name pop_importtyp size 1 gt lt option selected value win gt Windows lt option gt lt option value dos gt DOS lt option gt lt option value mac gt MAC lt option gt lt option value linux gt Linux lt option gt lt select gt lt td gt lt tr gt lt tr gt EOP print lt td gt lt b gt hlink text userauto 7 userauto 6 lt b gt lt td gt n print lt lt EOP lt td gt lt select name pop_exporttyp size l gt lt option selected value win gt Windows lt option gt lt option value dos gt DOS lt option gt lt option value mac gt MAC lt option gt lt option value linux gt Linux lt option gt lt select gt lt td gt lt tr gt lt tr gt EOP print lt td gt lt b gt hlink text userautol0 userauto 7 lt b gt lt td gt n print lt lt EOP lt td gt lt input type text name txt_prefix size 40 maxlength 15 gt lt td gt lt table gt lt br gt lt table border 0 cellspacing 0 cellpadding 5 gt lt tr gt lt td gt amp nbsp lt input type submit value text submitaul gt amp nbsp lt td gt userauto cgi 19 27 userauto2 cgi Seite 1 7 usr bin perl EEE d dd dd dd
46. cgi 12 N SEN 13 verwendete Literatur GL LG nun ann nn nn nn nn nn nn nn nn nn 13 Kelt ae le Uu BEE 14 lee Ln EEN 14 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion Seite I 1 Beschreibung des Auftrages 1 1 Problemstellung Der Auftraggeber die Realschule Ascheberg betreibt zwei EDV R ume im zweiten Haupt geb ude Als prim rer File Server dient eine Linux Maschine mit einer SuSE Distribution Version 7 0 und Samba Version 2 0 7 F r den Zugang zum Netzwerk soll jeder Sch ler und Lehrer einen eigenen Account er halten und Speicherplatz auf dem prim ren File Server zugewiesen bekommen Mit der Entwicklung eines L sungspaketes zur Benutzerverwaltung wurde ich von Herrn Schu bert Schulleiter der Realschule Ascheberg betraut Dabei sollen die folgenden Funktionen abgedeckt werden e Benutzer sowie Samba Accounts anlegen modifizieren und l schen e Gruppen anlegen modifizieren und l schen e eine automatische Benutzeranlegung anhand einer Sch ler bzw Lehrerliste mit Speicherung der Benutzerdaten Pa w rter sollen f r Sch ler automatisch generiert werden M glichkeit der Fernadministration mittels Webbrowser Das zu entwickelnde Produkt soll auf dem prim ren File Server der Realschule Ascheberg eingesetzt werden Zus tzlich soll die M glichkeit bestehen da das L sungspaket in an deren Schulen mit Linux Servern eingesetzt werd
47. ckgabewert Hash Gruppen Gruppe gt GID Beschreibung Liefert die Gruppen mit GID zur ck die im System vorhanden sind Wird der optionale String normal bergeben werden nur Gruppen mit einer GID gr er 99 und kleiner 65534 zur ckgeliefert beim String system nur Gruppen mit einer GID kleiner 100 oder gleich 65534 2 3 Funktion getusers Ubergabewert normal system Benutzertyp optional R ckgabewert Hash User User gt UID Beschreibung Liefert die User mit UID zur ck die im System vorhanden sind Wird der optionale String normal bergeben werden nur User mit einer UID gr er 99 und kleiner 65534 zur ckgeliefert beim String system nur User mit einer UID kleiner 100 oder gleich 65534 2 4 Funktion getusergroups bergabewert String User R ckgabewert Hash Gruppen Gruppe gt GID Beschreibung Liefert die Gruppen mit GID zur ck in der der bergebene User sekun d res Mitglied ist 2 5 Funktion getgroupsecuser bergabewert String Gruppe R ckgabewert Hash User User gt UID Beschreibung Liefert die User mit UID zur ck die in der bergebenen Gruppe sekun d res Mitglied sind Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Systemdokumenfafion Seite 6 2 6 Funktion getgroupprimuser bergabewert String Gruppe R ckgabewert Hash User User gt UID Beschreibung Liefert di
48. counts wurden fur den Samba Server eingerichtet userauto33 Benutzer werden angelegt userauto34 Gruppe userauto35 Export Datei userauto36 Name Pfad der Export Datei timel Laufzeit time2 Das Script ben tigte lt b gt S1 lt b gt CPU Sekunden time3 Das System belegte dabei lt b gt 1 lt b gt CPU Sekunden time4 Die Child Prozesse ben tigten lt b gt 1 lt b gt CPU Sekunden time5 Das System belegte dabei lt b gt l1 lt b gt CPU Sekunden groupl Neue Gruppe anlegen group2 Gruppenname group3 Gruppenverzeichnis anlegen group4 Gruppenverzeichnis group5 Vorhandene Benutzergruppen group6 Vorhandene Systemgruppen group7 Gruppe groups L schen groupaddl Gruppe lt i gt S1 lt i gt wird angelegt groupadd2 Gruppenverzeichnis wird angelegt groupadd3 Zugriffsrechte setzen 24 27 Seite 4 5 Seite 5 5 groupdell Beachten Sie bitte da die eventuell vorhandenen Gruppenverz version 0 2 0 eichnisse nicht gel scht werden groupdel2 Angegebene Gruppen werden gel scht groupdel3 Gruppe lt i gt S1 lt i gt wird gel scht groupdel4 Es konnten lt b gt 1 lt b gt Gruppen nicht gel scht werden groupmodl Gruppen Details f r lt i gt l lt i gt groupmod2 Gruppenname groupmod3 Gruppen ID gid groupmod4 prim re Gruppenmitglieder groupmod5 sekund re Gruppenmitglieder groupmod6 Sekund re Gruppenmitglieder fur lt i gt 1 lt i gt ndern groupmod7 Gruppenmitglied er entfernen gr
49. cript userdel cgi Funktion L scht Benutzer Aufgerufen von user cgi Werte chk_ Benutzernamen chks_ Systembenutzernamen rad_homedel Heimatverzeichnisse l schen Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 EEE 0 0 2 EEFEF ENTE NT EEE BHHHHH Verwendete Variablen local my Sschluessel Zwischenspeichervariable f r foreach Schleife Sreturn Variable f r R ckgabewert von Systemaufrufen Sfehler Z hler f r Fehler 0 my starttime times Startzeitwerte speichern my Gendtime Array f r Endzeitwerte HH HH HH FERRER HH HH HH BHHrHHH Bibliotheken einbinden do web lib pl amp init_config ReadParse EEE ER RR d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Start der HTML Ausgabe amp header Stext titelu4 userdel undef undef undef lt nobr gt Written by lt nobr gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt lt EOP lt hr gt lt p gt lt h3 gt Stext userdell lt h3 gt lt pre gt EOP EEE 0 0 2 EEFEF Ausgabe von Fehleranzahl foreach Sschluessel keys in next if Sschluessel eg rad homedel print text userdel2 Sin Sschluessel EHE HERR EEFEF userdel cgi
50. d pri m re oder Initial Gruppe genannt Alle Dateien die der Benutzer anlegt werden dieser Gruppe zugeordnet Der Benutzer kann Dateien die ihm selbst geh ren an deren Gruppen zuordnen falls er Mitglied der anderen Gruppe ist Jedoch kann zu jeder Datei oder Verzeichnis nur eine Gruppe zugeordnet werden Pa wort automatisch generieren Wird hier ja ausgew hlt generiert das System au tomatisch ein Pa wort aus 8 Zeichen ansonsten erfolgt vor der Anlegung des Benut zers eine Abfrage des Pa wortes Typ des Benutzers Der Typ des Benutzers gibt den Ort des Heimatverzeichnisses an Sollte hier Sch ler ausgew hlt worden sein wird der Pfad zum Heimatverzeich nis aus HOMEDIR_SCHUELER prim re Gruppe und Account Namen gebildet f r Lehrer aus HOMEDIR_LEHRER und Account Namen Die Einstellungen f r HO MEDIR_SCHUELER und HOMEDIR_LEHRER k nnen Sie in der Konfiguration zum Benutzer und Gruppenmanager vornehmen Anmeldung direkt auf Server Diese Option gibt an ob es dem Benutzer erlaubt wer den soll sich direkt oder mittels Telnet SSH auf dem Rechner anzumelden Stan dardm ig ist die Anmeldung direkt auf dem Server deaktiviert da normale Benut zer die Dienste des Servers nur ber diverse Netzwerkdienste benutzen sollen z B Samba Mail FTP Samba Benutzer einrichten Hiermit wird festgelegt ob f r den Account auch ein Samba Account eingerichtet und aktiviert werden soll Standardm ig ist dieses eingeschal tet
51. dd Z Sekund re Gruppenmitglieder ausgeben secuser getgroupsecuser Sin group foreach Sschluessel sort keys secuser print schluessel secuser schluessel wn print lt b gt amp nbsp lt td gt n print lt tr gt n print lt table gt n Tabellenende ETHERNET FEEHEF groupmod cgi groupmod cgi Seite 4 5 ENTER dd dt dd dd dt BHHHHH Beginn Formular Aufrufscript groupmod cgi Method post Felder pop_useradd Liste der User die zur Gruppe hinzugef gt werden sollen pop_userdel Liste der User die aus der Gruppe entfernt werden sollen group Gruppenname hidden print lt form action groupmod cgi method post gt n print lt br gt n print lt h3 gt text groupmod6 Sin group lt h3 gt n ENTE NT dd dd RNT TITTEN BHHHHH Tabelle f r die nderung der Gruppenmitglieder print lt table border 0 cellspacing 0 cellpadding 5 width 100 cb gt n print lt tr valign top gt n print lt td gt lt b gt hlink Stext groupmod7 groupmod 5 lt b gt lt td gt n EHEN aad Liste mit sekund ren Gruppenmitgliedern die aus Gruppe entfernt werden k nnen print lt td gt lt select name pop_userdel size 10 multiple gt n foreach Sschluessel sort keys secuser print lt option value schluessel gt schluessel secuser schluessel lt option gt An print lt select gt n print lt td gt n print
52. dd d d d d dd dd dd dd dd dd d d d d d d d d dd Z Script userauto2 cgi Funktion Legt neuen Benutzer automatisch an Konfigurations variablen homedir_lehrer Pfad zu Lehrerheimatverzeichnissen Aufgerufen von userauto cgi Werte txt_import homedir_schueler Pfad zu Sch lerheimatverzeichnissen Datei mit Benutzerdaten txt_export Pfad f r Ausgabedaten rad_usertyp Benutzertyp s t pop_fieldpattern Datensatztrennzeichen l IL TAB Import Dateiformat Linux Windows Mac Export Dateiformat Linux Windows Mac txt_prefix Prefix der vor die Gruppen pop_importtyp pop_exporttyp b TFT RR angeh ngt wird Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 EHRE tt dd dd dd dd dd dd dd gd dd dd dd gd dd dd dd dd gd dd dd dd d dd L dd dd Verwendete Variablen local my Stempnamel Tempor rer Dateiname 1 Stempname2 Tempor rer Dateiname 2 Sstdline Aktuelle Zeile der Eingabedate Sschluessel Zwischenspeichervariable f r foreach Schleif Susername Generierter Accountname des Users Spasswd Generiertes Pa wort des Users Suserhome Heimatverzeichnis des Users Sexportname Pfad Dateiname f r die Datei mit den Benutze rdaten tee my Sreturn Return Wert von System Aufrufen Sfehler Kennzeichnung von Fehlern EE Laufvariable 1 GWE Laufvariable 2 Suserall Z hler wieviele Benutzer angelegt wurden Suserallsmb Z hler wiev
53. dd dd dd dd d d d d d d d dd dt Tt Zi berpr fung ob alle Gruppen vorhanden sind if Sfehler 0 print lt pre gt foreach Sschluessel sort keys groupmembers return getgrnam schluessel if not defined return print text userauto24 Sschluessel n Sfehler l if Sfehler print lt b gt text userauto23 lt b gt n print lt pre gt n print lt hr gt n nRnRPRPRRRTRTRTRTRRERRERRRRRRRRRRRETRWRDRRFRRRHRRRRRRRWETHWURRRRRHRUDRDRDRRRRWETHURRRHRHUDUDUD HER Benutzer anlegen und Benutzerdaten in Datei schreiben if Sfehler 0 print lt h3 gt textluserauto33 lt h3 gt n print lt pre gt n open INPUT tempname2 open OUTPUT gt tempnamel print OUTPUT localtime time wn print OUTPUT Dateisyntax n print OUTPUT GROUP in pop_fieldpattern I NAMES in pop_fieldpattern ACCOUNT in p op_fieldpattern PASSWORDS in pop_fieldpattern HOMEDIRS Sin pop_fieldpattern STATE n while lt INPUT gt chomp temp split Sin pop_fieldpattern print temp 2 Gd dd dd dd dd dd d dg d dd 21 27 userauto2 cgi Seite 5 7 EEFEF Generierung des Accountnamen max 12 Zeichen foreach Snr2 1 8 nrl 12 nr2 username lc substr Stemp 0 0 nr2 substr Stemp 1 return getpwnam lc username last if not defined return HH HH HH FERRER Generierung des Pa wortes passwd amp passwdgen us
54. e Anzeigen von Gruppeninformationen e Gruppenmitgliedschaften f r sekund re Mitglieder ndern e multiples L schen von Gruppen 3 automatische Benutzeranlegung e Anhand einer Benutzerliste Datei k nnen viele Accounts automatisch einge richtet werden e Samba Accounts und Heimatverzeichnisse anlegen Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 4 A 1 3 e Pa wort automatisch generieren e senerierte Benutzerdaten werden in eine Datei gespeichert um den Benutzern nachher ihren Account Namen und Pa wort mitteilen zu k nnen Konfiguration e F r Sch ler Lehrer und Gruppen k nnen unterschiedliche Basis Verzeichnisse definiert werden e Zuriffsrechte f r neue Heimat und Gruppenverzeichnisse k nnen eingestellt werden wobei hier nur einige sinnvolle Rechtevergaben zur Verf gung stehen Voraussetzungen F r das Ausf hren dieses Moduls m ssen folgende Programme auf dem System installiert und ber den Suchpfad erreichbar sein wird beim Starten dieses Moduls berpr ft 1 4 useradd userdel usermod groupadd groupdel groupmod chown mkdir smbpasswd cp recode in einer Version die die Syntax recode Z91 Z92 interpretiert Konfiguration Nachfolgend werden die einzelnen Parameter die in der Konfiguration eingestellt werden k nnen erl utert Pfad zu Schiilerheimatverzeichnissen Der Pfad unter dem das Heimatverze
55. e User mit UID zur ck die in der bergebenen Gruppe prim res Mitglied sind 2 7 Funktion readpopmultiple bergabewert String Wert aus Listenfeld R ckgabewert Array Listeneintr ge Beschreibung Liefert die einzelnen Listeneintr ge als Array zur ck die im bergebe nen String mit vU getrennt waren 3 Weitere Dateien und Verzeichnisse 3 1 Datei config Funktion Beinhaltet die Werte f r die Konfigurationsparameter wie sie bei einer Neu installation gesetzt werden 3 2 Datei config info xx Funktion Beinhaltet die Parameter f r die Modul Konfiguration in der jeweiligen Spra che 3 3 Datei module info Funktion Beinhaltet Modulinformationen wie unterst tzte Distributionen Modul Namen 3 4 Verzeichnis help Funktion In diesem Verzeichnis befinden sich die Hilfeseiten 3 5 Verzeichnis images Funktion Die einzelnen Graphiken die f r das Modul verwendet werden werden in diesem Verzeichnis abgelegt Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Systemdokumenfafion Seite 3 6 Verzeichnis lang Funktion F r die Internationalisierung werden alle Texte und String in Dateien unter diesem Verzeichnis abgelegt dabei gibt es f r jede Sprache eine eigene Datei Tobias Brinkert 04 M rz 2001 Anlage IV Quellcode index cgi Seite 1 3 usr bin perl EHEN TEEN BHHHHH Script index cgi Funktion Startseite f r Benut
56. e werden im Projektverlauf untersucht und gegeneinander abgewogen um eine Entscheidung f r einen L sungsweg zu treffen Der Zeitpunkt der Einbindung des Produktes ins Netzwerk wird mit dem Schulleiter abge sprochen Bei der Entwicklung wird darauf Wert gelegt da zur Implementierung auf dem prim ren File Server so wenig Modifikationen wie m glich durchgef hrt werden m ssen Eine Absprache mit dem System Administrator ist nicht notwendig da der Entwickler selbst den Server aufgesetzt hat und f r die Administration verantwortlich ist 1 4 nderungen gegen ber dem Projektantrag Im zweiten Kundengespr ch mit Herrn Schubert wurde deutlich da die klassenweise und dauerhafte Speicherung der generierten Benutzerdaten Accountname Pa wort auf einem nur f r Lehrer zug nglichen Serverbereich durch das berwinden der Sicherheits mechanismen oder Fahrl ssigkeit der Lehrer Probleme mit der Zuordnung von Netzbe nutzung und Benutzer verursachen kann Daraufhin werden die Benutzerdaten nur noch in einer Datei erfolgen Auf Basis dieser Datei wird ein Serienbrief mit den Benutzerdaten erstellt und die Datei anschlie end gel scht mu vom Anwender durchgef hrt werden 2 Konzepterstellung und Planung 2 1 Ist Analyse Zur Zeit werden f r den Netzwerk Zugriff globale Benutzer und Kennw rter verwendet Ausschlie lich die Informatik Lehrer der Schulleiter und der System Administrator be sitzen eigene Accounts auf dem prim ren
57. een 4 4 1 Produktfunktion 1 Benutzerverwaltung F1 0 ou 5 4 1 1 Subfunktion 1 Benutzer anlegen II 5 4 1 2 Subfunktion 2 Benutzer modifizieren IZ 5 4 1 3 Subfunktion 3 Benutzer l schen EI An 5 4 2 Produktfunktion 2 Gruppenverwaltung ZOU 5 4 2 1 Subfunktion 1 Gruppen anlegen OI 4 2 2 oubfunktion 2 Gruppen modifizieren F2 2 v Y aad 4 2 3 oubfunktion 3 Gruppen l schen F2 3 Y Y FF AUU 4 3 Produktfunktion 3 Automatische Benutzeranlegung F3 0 6 4 4 Produktfunktion 4 Konfiguration AU 6 3 PUKO enrii n REE E AEE 7 6 ee ele ue e ea een 7 7 _ Guoalit ts Zielbestimmung nen namen nn nen 7 8 Globale Iestszenorten nennen nennen 7 9 Entwicklungsumgebung nun nn 7 Fl 1 EE 7 9 2 TT e EE 8 Tobias Brinkert 12 Februar 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft Seite 3 1 Zielbestimmung 1 1 Mu kriterien Das zu erstellende L sungspaket soll sowohl die Benutzer als auch die Gruppenadmini stration auf dem prim ren Linux Server vereinfachen Da der Server mit Hilfe der Server Software Samba als PDC und File Server f r die Windows Clients dient mu auch die Administration der Samba Accounts gew hrleistet sein Zus tzlich soll die M glichkeit bestehen mithilfe einer einfachen Benutzerliste Vorname Nachname Klasse die im Da teiformat und kodierung von Apple
58. en kann Hierzu ist die Implementierung von Mechanismen zur einfachen Anpassung an die Systemgegebenheiten und richtlinien der einzelnen Schulen notwendig 1 2 Projektumfeld In der Realschule Ascheberg wird derzeit die informationstechnische Infrastruktur auf ger stet die im Rahmen eines Projektes unserer Umschulungsklasse abl uft Neben den beiden Informatikr umen die sich im zweiten Hauptgeb ude befinden sollen alle Klassen und Fachr ume einen Zugang zum Netzwerk erhalten Hierf r sind zwei Linux File Server und ein Linux Proxy Server eine von Herrn Lothar Dornieden entwickelte Komplettl sung f r Schulen vorgesehen die Ressourcen zur gemeinsamen Nutzung zur Verf gung stellen Als Clients kommen berwiegend Windows Maschinen zum Einsatz Die Koppelung der beiden Hauptgeb ude bernehmen die beiden Linux File Server die physikalische Konnektierung erfolgt ber eine Lichtwellenleiterverbindung Geplant ist die Fertigstellung der Vernetzungsarbeiten f r Ende M rz Tobias Brinkert 04 M rz 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion Seite 2 1 3 Technische Schnittstelle und Implementierung Anwender und L sungspaket sollen ber einen Webbrowser miteinander kommunizieren Auf dem Server mu hierf r entweder ein HTTP Server z B Apache installiert sein oder das L sungspaket als Modul in die Administrationsoberfl che WebMin integriert werden Beide Weg
59. en von group cgi Werte txt_groupname Gruppenname chk groupdir on wenn Gruppenverzeichnis angelegt werden soll pop dir Angabe wo das Gruppenverzeic hnis liegen soll Konfigurations variablen is groupdir perms Zugriffsrechte fur Gruppenverzeichn groupdir Pfad zu Gruppenverzeichnis homedir schueler Pfad zu Schilerheimatverzeichnissen homedir lehrer Pfad zu Lehrerheimatverzeichnissen Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 EEE LE 0 0 2 tt Gd dd dd dd d dd RR d d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z Verwendete Variablen local my groups alle vorhandenen Gruppen Group gt GID my Stempl Pfad f r Gruppenverzeichnis Sreturn Variable f r R ckgabewerte von Systemaufrufen 0 HH HH HH L tttt HE H HH H BHHrHHH Bibliotheken einbinden do web lib pl do usermgr lib pl amp init_config amp ReadParse Gd dd dd dd d dd dd dd d d d d d dd dd dd dd dd dd d d d d d d d dd dt Tt Zi berpr fung ob ein g ltiger Gruppenname bergeben wurde if Sin txt_groupname w error text fehlergal exit ENTER dt dd dd dt BHHHHH Erzeugung des String der das Gruppenverzeichnis beinhaltet und berpr fung ob das Gruppenverzeichnis angelegt werden kann if Sin chk_groupdir eq on Sin popodir AE templ Sconfig groupdir Sin txt_groupname group cgi groupadd cgi 13
60. enen normalen Gruppen und 3 eine Tabelle mit vorhandenen System Gruppen ber den ersten Teil kann eine neue Gruppe spezifiziert und durch Bet tigen des Button Gruppe anlegen die Gruppe angelegt werden Hier wurde die M glichkeit implementiert ein Gruppenverzeichnis anzulegen Der Ort des Gruppenverzeichnisses kann ber ein Dropdown Feld angegeben werden wobei die Pfade Sch ler Heimatverzeichnis Grup penname Gruppenname Standard Lehrer Heimatverzeichnis Gruppenname und Gruppen Verzeichnis Gruppenname zur Verf gung stehen Die Zugriffsrechte f r das neue Gruppenverzeichnis werden ber die Konfigurationseinstellungen des Moduls einge stellt Beide nachfolgenden Tabellen mit den vorhandenen Benutzer und Systemgruppen bie ten die M glichkeit Gruppen zu modifizieren bzw Detailinformationen anzeigen zu las sen und Gruppen aus dem System zu entfernen Unterschieden werden dabei die beiden Gruppenarten anhand ihrer Gruppen Identifikationsnummer GID die bei Systemgrup pen einen Wert unter 100 oder den Wert 65534 besitzen Detailinformationen und Modifizierungen zu einer Gruppe wurden ber einen Link auf den Gruppennamen realisiert Die Modifizierung beschr nkt sich auf die Verwaltung von sekund ren Gruppenmitgliedern Eine oder mehrere Gruppen k nnen ber den Button Gruppen l schen aus dem System entfernt werden Die Auswahl der zu l schenden Gruppen wird ber die Checkboxen rechts
61. er Maschine zus tzlich installiert und getestet werden sollte Als Webbrowser kam Netscape Navigator Version 4 75 zum Einsatz 3 2 Entwicklungsphasen Die Entwicklung des L sungspaketes wurde in 4 Phasen aufgeteilt die sich anhand der Funktionalit t bildeten Zuerst wurde die Startseite nur mit der grundlegenden Funktio nalit t ausgestattet damit die einzelnen Modul Komponenten gestartet werden k nnen W hrend der gesamten Entwicklungszeit wurde eine Funktionsbibliothek aufgebaut die von mehreren Scripten ben tigt werden und der Konfigurationsbereich implementiert Konfigurationsbereich Textausgabe Hilfe und Design wurden an die Vorgaben und Me thoden von WebMin angepa t Um die berpr fungen der Konfigurationseinstellungen zu verringern wurde nur auf der Startseite die M glichkeit der globalen Konfiguration gegeben Jedes Script bernimmt die berpr fung der bergebenen Werte sowie die Feh lerbehandlung Desweiteren gliederte sich die Entwicklung in folgende 4 Phasen Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumentation oeite 5 3 2 1 Gruppenmanager Begonnen wurde mit der Entwicklung des Gruppenmanagers da die Benutzerverwaltung logisch hiervon abh ngig ist Der Gruppenmanager siehe Abbildung 1b gliedert sich in die Teile 1 Eingabefeld und Optionen die f r die Erstellung einer neuen Gruppe notwendig sind 2 eine Tabelle mit vorhand
62. eranlesung A srda E Zur ck zu Webmin index w Lehrer Format der Benutzerdaten Windows Format der generierten Benutzerdaten Windows 4 Prefix f r Gruppen i E Zur ck zu bersicht E root logged into Webmin 0 53 on projekt SuSE Linux 7 0 root logged into Webmin 0 83 on projekt SuSE Linux 7 0 a Automatische Benutzeranlegung b Startseite Abbildung 2 Automatische Benutzeranlegung und Startseite 3 3 Automatische Pa wortgenerierung Gew nscht war die M glichkeit der automatischen Pa wortgenerierung Dabei sollte das Pa wort nicht aus einem W rterbuch sondern durch eine zuf llige Zeichenfolge generiert werden Hierf r wurde ein Algorithmus entwickelt welcher ein Pa wort aus 8 Zeichen generiert F r die ersten 4 Zeichen wird versucht den Anmeldenamen mit Hilfe des Soundex Algorithmus geh rt zur Perl Distribution zu packen und mit 4 zuf lligen Zei chen aufzuf llen Sollte der Anmeldename nicht gepackt werden k nnen wird das gesam te Pa wort aus zuf lligen Zeichen generiert Das Struktogramm hierf r ist im Anhang Kapitel 6 2 1 einzusehen 3 4 Sicherheits und Zugriffskonzept Ein eigenst ndiges Sicherheits und Zugriffskonzept ist f r das entwickelte L sungspaket nicht notwendig da ber WebMin diese Methoden schon implementiert sind Dabei ist durch die bertragung von Pa w rtern die Verwendung einer verschl sselten Verbindun gen zwischen Server und Client a
63. erhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 16 GIDs unter 100 sind typischerweise f r spezielle System Gruppen reserviert z B bin modem named Die Gruppe mit der GID 0 ist immer die Systemadmini stratorgruppe root die mit der GID 65534 ist immer nogroup Insgesamt stehen 65535 GIDs f r Gruppen zur Verf gung f r normale Gruppen bleiben 65434 UIDs prim re Gruppenmitglieder Unter Unix Betriebssystemen besteht ein Gruppenzwang d h das jeder Benutzer mindestens einer Gruppe zugeordnet werden mu Die Hauptgruppe eines Benutzers womit er bei der Anmeldung initialisiert wird wird prim re oder Initial Gruppe genannt Alle Dateien die der Benutzer anlegt werden dieser Gruppe zugeordnet Nat rlich k nnen mehrere Benutzer ein und die selbe Gruppe als prim re Gruppe nutzen Prim re Gruppenmitglieder k nnen mit diesem Modul nicht ver ndert werden dazu m ssen Sie die Benutzereinstellungen im Benutzermanager modifizieren sekund re Gruppenmitglieder Die Benutzer die in dieser Gruppe zus tzlich zur ihrer prim ren Gruppe als Mitglied eingetragen sind Hiermit k nnen zus tzlich Gruppen zu den Hauptgruppen gebildet werden die gemeinsame Rechte besitzen 8 1 2 Sekund re Gruppenmitglieder ndern Gruppenmitglied er entfernen Die Liste enth lt alle Benutzer mit der UID in Klam mern die in dieser Gruppe sekund res Mitglied sind M chten Sie sekund re Mit glieder aus dieser Gruppen l
64. ername HH HH HH HERRER Generierung des Heimatverzeichnisses if Sin rad usertyp eq s Suserhome Sconfig homedir schueler Stemp 3 Susername elsif Sin rad usertyp eg t Suserhome Sconfig homedir lehrer username EEE aad Benutzer anlegen if d Suserhome return system useradd g temp 3 d userhome s bin false c te mp 2 p passwd username gt dev null 2 gt amp 1 256 elsif e Suserhome Sreturn Stext userauto25 else return system useradd g temp 3 d V userhomeV s bin false c temp 2 m k config skelnoshell p passwd username gt dev null 2 gt amp 1 256 lt dt dt dt dt dd dt dt dd d dt Z g Samba Benutzer anlegen if return 0 Suserall t t return system smbpasswd a e s username passwd gt dev null 2 gt amp 1 if return Di Sreturn Stext userauto27 Suserallsmb else Sreturn Stext userauto26 else Sreturn Stext userauto25 print Account lt b gt username lt b gt text userauto34 lt b gt temp 3 lt b gt lt b gt return lt b gt n print OUTPUT temp 3 in pop_fieldpattern temp 2 in pop_fieldpattern username userauto2 cgi userauto2 cgi Seite 6 7 in pop_fieldpattern passwd in pop_fieldpattern userhome in pop_fieldpattern return n print lt pre gt n close INPUT close
65. ersion 0 83 Perl Version 5 005_03 Samba Version 2 0 7 recode Version 3 5 Client SuSE Linux Distribution Version 7 0 Netscape Communicator Version 4 75 FTE Editor Version 0 49 10 HTML Editor Bluefish Version 0 3 5 WebMin Ver sion 0 81 Perl Version 5 005_03 Samba Version 2 0 7 recode Version 3 5 Tobias Brinkert 12 Februar 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft Seite 8 9 2 Hardware Server Intel Pentium 133 80 MB RAM 2 GB HDD Monitor Client AMD K6 500 256 MB RAM 15 GB 8 GB HDD Monitor Drucker Auf dem Client wurde im globalen Testszenario das L sungspaket zus tzlich installiert um die Funktionalit t zu pr fen Literatur 1 Writing WebMin Modules Abschnitt Look and Feel http www webmin com webmin modules html look 2 Writing WebMin Modules Abschnitt Design Goals http www webmin com webmin modules html design Tobias Brinkert 12 Februar 2001 Anlage II Benutzerhandbuch Benutzerhandbuch zum WebMin Modul Benutzer und Gruppenmanager Version 0 2 0 Tobias Brinkert eMail t brinkert 15bit de Internet www l5bit de 29 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 2 Inhaltsverzeichnis 1 Benutzer und Gruppenmanager A 3 1 1 Allgememes RG GG ad 3 1 2 Funkttonsurmmtong LL RL LL RE nn nun 3 1 3 VOITdusselzZunid en 999999 b2 ENEE E
66. es Fea ture nicht implementiert 3 Benutzer anlegen Sollten Sie bei der Eingabe der Benutzerdaten die automatische Pa wortgenerierung ab geschaltet haben werden Sie nach einem Pa wort gefragt und erst nach dem Abschicken des Formulars wird der Benutzer angelegt Nach der berpr fung der eingegebenen Werte wird der Benutzer angelegt und die Benut zereinstellungen ausgegeben Wird das Pa wort automatisch generiert wird dieses hier mit ausgegeben Bei Fehlern in der Eingabe wird eine entsprechende Warnmeldung ausgegeben und der Benutzer nicht angelegt ber den Zur ck Button des Browsers k nnen Sie auf die vorhe rige Seite zur ckwechseln und nach Ver nderung der Benutzereinstellungen den Vorgang des Anlegens eines neuen Benutzers neu initiieren Bitte beachten Sie da das Heimatverzeichnis nicht vorhanden sein darf wenn es neu an gelegt werden soll ansonsten kommt es zu einer Fehlermeldung Das Heimatverzeichnis wird f r Sch ler in HOMEDIR_SCHULER Gruppe Account Name angelegt f r Lehrer in HOMEDIR_LEHRER Account Name Die Einstellungen f r HOMEDIR_SCHUELER und HOMEDIR_LEHRER k nnen Sie in der Konfiguration zum Modul Benutzer und Grup penmanager vornehmen Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 seite 9 4 Benutzer modifizieren Dieses Modul zeigt Detail Informationen zu einem Account und erm glicht die Modifizie rung einiger Einstellungen f r den Benu
67. esetzt Sollte der Button Benutzer ndern gedr ckt werden ohne da Ver nderungen in den Benutzer Daten vorgenommen wurden wer den keine nderungen durchgef hrt Der Button Zur cksetzen setzt die Werte auf die aktuellen Benutzerdaten zur ck Bitte beachten Sie da die Gruppenzugeh rigkeiten von Dateien und Verzeichnissen vor allem im Heimatverzeichnis nicht ver ndert werden sowie das Heimatverzeich nis nicht verschoben wird 4 1 Beschreibung der einzelnen Felder 4 1 1 Benutzer Detail Accountname Der Anmeldename des Benutzers wird auch f r Netzwerkdienste wie Samba FTP Mail ben tigt Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 10 Benutzer ID UID Die Benutzer ID UID ist eine eindeutige Nummer im System die den Benutzer identifiziert Intern werden die Besitzer von Dateien und Verzeichnis sen nicht mit ihrem Namen sondern mit der UID gespeichert Hieraus ergibt sich da Dateien die von einem User angelegt wurden und der User anschlie end ge l scht wird immer noch der UID des anlegenden Benutzers geh ren Wird ein neuer User mit der UID des gel schten Users angelegt geh ren ihm alle Dateien des ge l schten Benutzers UIDs unter 100 sind typischerweise f r spezielle System Benutzer reserviert z B bin mysql named Der Benutzer mit der UID 0 ist immer der Systemadministra tor root der mit der UID 65534 immer nobody Insges
68. f dem prim ren File Server der Realschule Asche berg wird der 15 M rz 2001 angesetzt Tobias Brinkert 12 Februar 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft Seite A 2 Produkteinsatz 2 1 Anwendungsbereich Das Produkt soll als Erg nzung zu der bestehenden Administrationsinfrastruktur einge setzt werden Hierbei sollen die Funktionen der Benutzer und Gruppenverwaltung sowie die automatische Benutzeranlegung abgedeckt werden Ziel des Auftrages ist es durch die L sung die Administrationszeit zu verk rzen und die Wahrscheinlichkeit einer fehlerhaf ten Bedienung zu minimieren 2 2 Zielgruppe Die Administratoren und Informatik Fachlehrer sind haupts chlich f r den Einsatz dieses L sungspaketes vorgesehen 3 Produktumgebung 3 1 Server F r den Produkteinsatz wird eine Linux Maschine mit dem Administrationstool WebMin ab Version 0 75 vorausgesetzt Dabei wird vorrangig f r die SuSE Distribution Version 7 0 entwickelt Zus tzlich mu der Zeichensatzfiler recode installiert sein in einer Ver sion die die neue Syntax recode Zeichensatz1l Zeichensatz2 anstelle von recode Zeichen satzl Zeichensatz2 interpretiert Desweiteren wird die Scriptsprache Perl ben tigt Spezi elle Anforderungen an die Hardware gibt es f r den Betrieb des Produktes nicht 3 2 Clients Das Betriebssystem der Clients mu den Anschlu ans Netzwerk ber das TCP IP Protokoll unterst tze
69. g ausgegeben Nachdem alle Benutzer angelegt wurden wird eine Gruppen bersicht erstellt mit allen Gruppen und wieviele Benutzer diesen Gruppen zugeordnet wurden Anschlie end wird die Gesamtzahl der angelegten Accounts und Samba Accounts aufgelistet Bei einer kom plett erfolgreichen Anlegung sollten diese beiden Zahlen gleich sein Zum Abschlu wird noch der Pfad und Dateiname zur Datei mit den generierten Benut zerdaten sowie Laufzeitdaten ausgegeben Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 20 12 Ruckgabecodes von Systemprogrammen Programm useradd RC 0 Benutzer erfolgreich eingerichtet RC 1 Kann die Pa wort Datei nicht aktualisieren RC 2 Die Kommandosyntax ist fehlerhaft RC 3 Fehlerhafte Argumente f r Optionen RC 4 UID ist nicht eindeutig RC 6 Angegebene Gruppe existiert nicht RC 9 Benutzername ist nicht eindeutig RC 10 Kann die Gruppendatei nicht aktualisieren RC 12 Kann das Heimatverzeichnis nicht anlegen Programm usermod RC 0 Benutzer erfolgreich modifiziert RC 1 Kann die Pa wort Datei nicht aktualisieren RC 2 Kommandosyntax fehlerhaft RC 3 Fehlerhafte Argumente f r Optionen RC 4 UID ist nicht eindeutig RC 5 Pa wort Datei enth lt Fehler RC 6 Angegebener Benutzer Gruppe existiert nicht RC 8 Der Benutzer ist zur Zeit angemeldet RC 9 Benutzername ist nicht eindeutig RC 10 Ka
70. gt amp 1 error Stext fehlerau3 IRC return exit EL 0 0 2 tt Konvertieren der Import Datei ins Linux Format if Sin pop importtyp eg win return system recode cp1252 latinl tempnamel gt dev null 2 gt amp 1 256 elsif Sin pop_importtyp eg dos return system recode ibmpc latinl tempnamel gt dev null 2 gt amp 1 256 elsif Sin pop_importtyp eg mac 20 27 userauto2 cgi Seite 3 7 return system recode macce latinl tempnamel gt dev null2 gt amp 1 256 else return 0 until return 0 system rm tempnamel 2 gt dev null error text fehlerau4 RC return exit EEE dd dd dd dd dd d d d d dd dd dd dd dd dd d d d d d d d d dd Z Start der HTML Ausgabe amp header Stext titelal userauto2 undef undef undef lt nobr gt Written by lt nob r gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt lt EOP lt hr gt lt p gt lt h3 gt Stext userauto2l lt h3 gt EOP EEE ER RR d d d d dd dd dd dd dd dd dd d d d d d d dd tt Z Einlesen der Import Datei open INPUT tempnamel or die open OUTPUT gt tempname2 or die while Sstdline lt INPUT gt chomp Sstdline
71. gt n print lt td gt lt b gt user 6 lt b gt lt td gt An print lt td gt hlink Stext usermod5 usermod 4 lt td gt n print lt td gt lt b gt primgroup user 3 lt b gt lt td gt n print lt tr gt n print lt tr gt n print lt td gt hlink Stext usermod6 usermod 5 lt td gt n print lt td gt lt b gt user 7 lt b gt lt td gt n print lt tdrowspan 2 valign top gt hlink Stext usermod7 usermod 6 lt td gt n print lt tdrowspan 2 valign top gt lt b gt secgroups amp getusergroups Sin user foreach Sschluessel sort keys secgroups print schluessel secgroups schluessel print amp nbsp lt b gt lt td gt n print lt tr gt n print lt tr gt n print lt td gt hlink Stext usermod8 usermod 7 lt td gt n print lt td gt lt b gt user 8 lt b gt lt td gt An print lt tr gt n print lt table gt n Tabellenende L t dd dd dd d dd dd dt TTT d d d d d d dd dd dd dd dd d d d d d d d dt Z Gd dd dd dd d dd dd dt dd d d d d dd dd dd dd dd d d d d d d d dd tt Z Beginn Formular Aufrufscript usermod cgi Method post Felder rad_passchange Pa wort ndern txt_primgroup neue Prim re Gruppe pop_secgroupsdel aus sekund ren Gruppen l schen pop_secgroupsadd zu sekund ren Gruppen hinzuf gen rad_samba Anderung des Samba Accounts pop_shell Shell des Benutzers
72. heimatverzeichnissen Gruppenname Dabei werden die Zugriffsrechte des Gruppenverzeichnisses auf den Wert eingestellt der in der Konfiguration zum Benutzer und Gruppenmanager eingetragen wur den Das Gruppenverzeichnis darf nicht existieren 7 Gruppe anlegen Nach der berpr fung der eingegebenen Werte wird die Gruppe angelegt und die Grup peneinstellungen ausgegeben Bei Fehlern in der Eingabe wird eine entsprechende Warnmeldung ausgegeben und die Gruppe nicht angelegt ber den Zur ck Button des Browsers k nnen Sie auf die vorhe rige Seite zur ckwechseln und nach Ver nderung der Gruppeneinstellungen den Vorgang des Anlegens einer neuen Gruppe neu initiieren Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 15 Bitte beachten Sie da das Gruppenverzeichnis nicht vorhanden sein darf wenn es neu angelegt werden soll ansonsten kommt es zu einer Fehlermeldung 8 Gruppe modifizieren Dieses Modul zeigt Detail Informationen zu einer Gruppe und erm glicht die Modifizie rung der sekund ren Mitglieder der Gruppe Dabei gliedert sich diese Seite in 3 Teile 1 R ckmeldung der Gruppenmodifizierung Hier wird der Status der Gruppenmodifizierung mit eventuellen Fehlermeldungen ausgegeben Dieser Teil wird nur angezeigt wenn die Gruppendaten modifiziert wer den 2 Gruppen Details f r ausgew hlte Gruppe Neben dem Gruppennamen und der Gruppen ID GID werden die pr
73. hluessel groups schluessel lt option gt n print lt select gt lt td gt n print lt td gt lt b gt hlink text usermodi1 usermod 15 lt b gt lt td gt n print lt lt EOP lt td gt lt input type radio name rad_samba value none checked gt Stext usermodl 2 lt br gt lt input type radio name rad_samba value add gt Stext usermodl3 lt br gt lt input type radio name rad_samba value enable gt text usermodl4 lt br gt lt input type radio name rad_samba value disable gt Stext usermodl5 lt br gt lt input type radio name rad_samba value passwd gt text usermodl0 lt br gt lt input type radio name rad_samba value delete gt text usermodl6 lt td gt lt tr gt lt table gt lt br gt lt table border 0 cellspacing 0 cellpadding 5 gt lt tr gt lt td gt amp nbsp lt input type submit value text submitu3 gt amp nbsp lt td gt lt td gt amp nbsp lt input type reset value text reset gt lt input type hidden name user value in user gt lt input type hidden name shell value user 8 gt lt input type hidden name primgroup value primgroup gt lt td gt lt tr gt lt table gt lt form gt lt hr gt EOP Formular und Tabellenende THHFHFHRRRFFRHFEFETFETFEFFFFFEFEFHFEFFFEFFEFEFFETFEFETFEF E AAHH amp footer Smodule_name user cgi text back3 9 27 userdel cgi Seite 1 3 usr bin perl EEE a 0 0 0 2 EEFEF S
74. ich nis angelegt wird wenn als Typ Schiiler ausgew hlt wird Desweiteren wird dieser Pfad bei der Gruppenanlegung als m glicher Ort eines Gruppenverzeichnisses ver wendet Pfad zu Lehrerheimatverzeichnissen Der Pfad unter dem das Heimatverzeich nis angelegt wird wenn als Typ Lehrer ausgew hlt wird Desweiteren wird dieser Pfad bei der Gruppenanlegung als m glicher Ort eines Gruppenverzeichnisses ver wendet Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 seite 5 e Pfad zu Gruppenverzeichnissen Der Pfad unter dem Gruppenverzeichnisse an gelegt werden k nnen Bei der Gruppenanlegung gibt es 3 m gliche Orte f r das Gruppenverzeichnis wobei eines unter diesem Pfad liegt e Pfad zu Profildateien mit Shell Benutzung Die Profildateien im angegebenen Verzeichnis werden ins Heimatverzeichnis eines neuen Benutzers kopiert wenn der Benutzer sich interaktiv am Server anmelden kann Zuweisung der Standardshell e Pfad zu Profildateien ohne Shell Benutzung Dieser Pfad gibt das Verzeichnis mit Profildateien an die ins Heimatverzeichnis eines neuen Benutzers kopiert wer den wenn die direkte Anmeldung am Server nicht erm glicht wird Shell bin false e Zugriffsrechte eines neuen Heimatverzeichnisses Hiermit kann bestimmt wer den mit welchen Zugriffsrechten das Heimatverzeichnis eines neuen Benutzers be legt werden soll Dabei wurden einige sinnvolle Rech
75. icht angelegt Bei der automatischen Benutzeranlegung wird f r jeden Benutzer ein Heimatverzeichnis mit dem gleichen Algorithmus wie bei der manuellen Benutzeranlegung siehe Kapitel 3 2 2 angelegt ein Pa wort automatisch generiert ein Samba Account eingerichtet so wie eine direkte Anmeldung auf dem System verhindert Die generierten Benutzerdaten werden in die Export Datei geschrieben 3 2 4 Startseite Als letzter Entwicklungsteil wurde die Startseite implementiert Die Startseite siehe Ab bildung 2b bernimmt zus tzlich zur Startm glichkeit der drei Programmteile die berpr fung der Konfigurationseinstellungen sowie die berpr fung ob alle ben tigten Systemprogramme verf gbar sind Bei Entwicklungsbeginn waren noch nicht alle Konfi gurationswerte und externe Systemprogramme bekannt aus diesem Grund wurde dieser Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumentation seite 8 Entwicklungsschritt ans Ende verschoben Die Konfiguration ist nur uiber diese Startseite erreichbar so da die berpr fung der Konfigurationsparameter nur in diesem Bereich notwendig ist EN Mehrere anlegen i z preen Er Einstellungen f r die automatische Benutzeranlegung Datei mit den Benutzerdaten mit Pfad I Fd i i hi i i Benutzermanager Gruppenmanager Automatische Benutz
76. iele Samba Benutzer angelegt wur 0 my Svname 0 Stelle wo sich im Datensatz der Vorname bef indet my Snname 1 Stelle wo sich im Datensatz der Nachname be findet my Sugroup 2 Stelle wo sich im Datensatz die Gruppe befi ndet my starttime times my backup Startzeit des Scriptes sichern Sicherung des Datensatzes userauto2 cgi userauto2 cgi Seite 2 7 temp Tempor res Array endtime Endzeit des Scriptes my groupmembers Ben tigte Gruppen Gruppe gt Anzahl nrnnnnnnnnRnnnnRnnDRD nn RR RRRRRRERWRRWFRRRWRRRWRRRRRRRERRUHRRURWRDHWRDWW FFFFEFNEDEDEDED EDD EDD DEDDF EDD EDD DF DF FFFDFDFDFDFDED EDD DD EDDU L tttt Bibliotheken einbinden do usermgr Jib pl do web lib pl amp init_config ReadParse ENTER EEE TER BHHHHH Initialisierung des Zufallszahlengenerator und Erzeugung von tempor ren Dateinamen srand time SS lt lt 15 Stempnamel tempnane Stempname2 tempnane EEE HH HH L tttt Pr fen der Werte f r Import und Export Dateien if not e Sin txt import or d in txt_import error Stext fehleraul exit until d in txt_export error Stext fehlerau2 exit d dd dd dd dd dd gd dd dd gd dd dd dd dg Le dd Kopieren der Import Datei ins Temp Verzeichnis Sreturn system cp in txt_import tempnamel gt dev null 2 gt amp 1 256 until return 0 system rm tempnamel gt dev null 2
77. im ren und se kund ren Gruppenmitglieder ausgegeben Bei den Gruppenmitgliedern wird sowohl der Name als auch in Klammern die UID angezeigt 3 Gruppen Daten ndern f r ausgew hlte Gruppe Im dritten Teil haben Sie die M glichkeit der Gruppe sekund re Mitglieder hinzu zuf gen oder zu entfernen Die Unterst tzung von Quota ist noch nicht implemen tiert hier ist das Modul Festplatten Quota zu verwenden Alle Werte des Formulars sind standardm ig auf die aktuellen Gruppenwerte ge setzt Sollte der Button Gruppe ndern gedr ckt werden ohne da Ver nderungen in den sekund ren Mitgliedern der Gruppe vorgenommen wurden werden keine n derungen durchgef hrt Der Button Zur cksetzen setzt die Werte auf die aktuellen Werte zur ck 8 1 Beschreibung der einzelnen Felder 8 1 1 Gruppen Detail Gruppenname Der Gruppenname wie er im System verwendet wird Gruppen ID GID Die Gruppen ID GID ist eine eindeutige Nummer im System die die Gruppe identifiziert Intern werden die Gruppenzugeh rigkeiten von Dateien und Verzeichnissen nicht mit ihrem Namen sondern mit der GID gespeichert Hieraus ergibt sich da Dateien die einer Gruppe geh ren und die Gruppe anschlie end gel scht wird immer noch der GID der Gruppe geh ren Wird eine neue Gruppe mit der GID der gel schten Gruppe angelegt geh ren alle Dateien und Verzeichnisse der gel schten Gruppe der neuen Gruppe Tobias Brinkert 28 Februar 2001 Benutz
78. ionsserver Sirius implementiert Tobias Brinkert 0A M rz 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion Seite 11 6 Anhang index cgi 6 1 Sitemap configegi cgi u Die Scripte die mit einem Sternchen gekennzeichnet sind werden nicht selber erstellt help cgi sondern von WebMin bereitgestellt Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion seite 12 6 2 Struktogramme 6 2 1 Funktion zur Pa wortgenerierung aus der Bibliothek usermgr lib pl Funktion amp passwdgen Beschreibung Generierung eines zuf lligen String der aus 8 Buchstaben besteht Parameter ein String Name aus String zuf lliger String lokale Variablen string bergebener String maxlength L nge des zu erzeugenden Strings externe Bibliotheken Text Soundex string 0 maxlength 8 passwd soundex string wm e passwd definiert isch en m maxlength maxlength 4 for 1 maxlength passwd join TLO 0 OAI T iial Lairand 64 return passwd 6 2 2 Ausschnitt Generierung des Anmeldenamens aus userauto2 cgi Ausschnitt aus userauto2 cgi Part Generierung des Accountnamen max 12 Zeichen Variablen nrl nr2 Laufvariablen return Return Wert der Funktion getpwnam temp Be
79. iten von Dateien und Verzeichnissen vor allem im Heimatverzeichnis nicht ver ndert werden sowie das Heimatverzeich nis nicht verschoben wird aus sekund ren Gruppen l schen Die Liste enth lt alle Gruppen mit der GID in Klam mern in denen der Benutzer sekund res Mitglied ist M chten Sie den Benutzer aus den sekund ren Gruppen l schen markieren Sie bitte diese Gruppen Eine Mehr fachauswahl ist m glich Bitte beachten Sie da wenn sie sehr viele Gruppen markieren es vorkommen kann da der Benutzer nicht aus allen sekund ren Gruppen gel scht wird Wenn dieser Fall auftritt wiederholen sie bitte die Modifizierung der Zugeh rigkeit zu den sekun d ren Gruppen zu sekund ren Gruppen hinzuf gen Die Liste enth lt alle Gruppen mit der GID in Klammern in denen der Benutzer sekund res Mitglied werden kann M chten Sie den Benutzer zu weiteren sekund ren Gruppen hinzuf gen markieren Sie bitte die entsprechenden Gruppen Eine Mehrfachauswahl ist m glich Bitte beachten Sie da wenn sie sehr viele Gruppen markieren es vorkommen kann da der Benutzer nicht zu allen sekund ren Gruppen hinzugef gt wird Wenn die ser Fall auftritt wiederholen sie bitte die Modifizierung der Zugeh rigkeit zu den sekund ren Gruppen Samba Account Die Eigenschaften des Samba Accounts k nnen f r den aktuellen Be nutzer hier ver ndert werden Dabei stehen die folgenden M glichkeiten zur Verf gung keine Anderung Es
80. jeden Benutzer in die Ausgabedatei geschrieben Prim re Gruppe Vor und Nachname Anmeldename generiertes Pa wort 8 Zeichen Heimatverzeichnis a ct AeA o N HM Status der Benutzeranlegung 10 1 Beschreibung der einzelnen Felder Datei mit den Benutzerdaten mit Pfad Der Dateiname mit den Benutzern die an gelegt werden sollen Hierbei mu der komplette Pfad angegeben werden Der But ton neben dem Eingabefeld erm glicht das Navigieren im Dateisystem und das Aus w hlen einer Datei Pfad f r die Datei mit den generierten Benutzerdaten F r die Ausgabedatei mit den generierten Benutzerdaten samt Pa w rtern wird hier der Pfad abgelegt wo diese Datei gespeichert werden soll Der Name dieser Datei lautet userlist_ lt Zahl gt txt wobei die lt Zahl gt die Proze ID ist Bitte beachten Sie da eine gleichnamige Datei in dem Verzeichnis kommentarlos berschrieben wird Da diese Datei die Pa w r ter der angelegten Benutzer enth lt sollte diese nicht l ngerfristig auf dem Server gespeichert werden Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 seite 19 Typ der Benutzer Diese Auswahl gibt den Ort des Heimatverzeichnisses der anzule genden Benutzer an Wird Sch ler gew hlt werden der Pfad zum Heimatverzeich nis aus HOMEDIR_SCHUELER Gruppe generiertem Account Name gebildet bei Lehrer aus HOMEDIR_LEHRER generiertem Account Namen Die Einstellu
81. keys in print text groupdel3 Sin Sschluessel return system groupdel in schluessel gt dev null2 gt amp 1 256 if Sreturn 0 print lt b gt text return1 lt b gt n else groupmod cgi groupdel cgi 17 27 groupdel cgi Seite 2 2 Sfehler t print lt b gt text return2 hlink RC return systemprogs gd return lt b gt n print lt pre gt n print lt hr gt n L d dt d dt d dt d dt dt dd d dd d dd TERROR Z g Ausgabe von Fehleranzahl if Sfehler print lt h3 gt text groupdel4 Sfehler lt h3 gt n print lt hr gt n EEE 0 0 2 EEFEF Ausgabe von Laufzeitdaten print lt h3 gt textltimel lt h3 gt n print lt pre gt endtime times print text time2 endtime 0 starttime 0 Mn print text time3 endtime 1l starttime l n print text time4 endtime 2 starttime 2 n print text time5 Sendtime 3 Sstarttime 3 n print lt pre gt n Lt dd d dt d dt d dt dd dt dd RREROHnn Z g print lt hr gt n amp footer module_name group cgi Stext back2 userauto cgi Seite 1 3 usr bin perl dt d dd d dd gd dd dt dd dd dt BHHHHH Script userauto cgi Funktion Eingeben der Daten f r die automatische Benutzergener ierung Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 dt dd dd NT dd dt dd dd dt BHHHHH Gd dd dd dd d dd dd dd d
82. le im System vorhandenen Gruppen Hierbei wer den die Benutzer in zwei Kategorien eingeteilt Normal und System Die Funktionalit t Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 seite 14 ist genauso wie im Benutzermanager implementiert worden ber das Anklicken eines Gruppennamens gelangen Sie auf eine Seite wo sie detailierte Gruppeninformationen er halten sowie diese ver ndern k nnen M chten Sie Gruppen aus dem System entfernen markieren Sie die Checkboxen rechts neben dem Gruppennamen Erst wenn Sie den But ton Gruppen l schen dr cken werden die Gruppen aus dem System entfernt ber den Button Zur cksetzen werden alle Checkboxen demarkiert Derzeit besteht noch nicht die M glichkeit eventuell vorhandene Gruppenverzeichnisse zu l schen 6 1 Beschreibung der Felder 6 1 1 Neue Gruppe anlegen Gruppenname Der Name unter der die Gruppe im System bekannt gegeben werden soll Gruppenverzeichnis anlegen Hier ist die M glichkeit gegeben ein Gruppenverzeich nis anzulegen Ist das Kontrollk stchen aktiviert Standard wird ein Gruppenver zeichnis angelegt Der Pfad wird ber das Drop Down Men Gruppenverzeichnis angegeben Gruppenverzeichnis F r den Ort des Gruppenverzeichnisses stehen 3 M glichkeiten offen 1 Pfad zu Gruppenverzeichnissen Gruppenname 2 Pfad zu Sch lerheimatverzeichnissen Gruppenname Gruppenname Stan dard 3 Pfad zu Lehrer
83. leraul Sie keine oder eine falsche Import Datei gew hlt fehlerau2 Sie haben kein oder ein nicht existierendes Export Verzeichni s ausgew hlt fehlerau3 Fehler beim Kopieren der Import Datei ins TMP Verzeichnis E fehlerau4 Fehler beim Konvertieren der Import Datei lang de 25 27 config info Seite 1 1 module info Seite 1 1 homedir_schueler Pfad zu Sch lerheimatverzeichnissen 8 name UG Manager homedir_lehrer Pfad zu Lehrerheimatverzeichnissen 8 desc User and Group Manager groupdir Pfad zu Gruppenverzeichnissen H desc_de Benutzer und Gruppen Manager skelshell Pfad zu Profildateien mit Shell Benutzung 8 os_support suse linux skelnoshell Pfad zu Profildateien ohne Shell Benutzung 8 category system homedir_perms Zugriffsrechte eines neuen Heimatverzeichnisses 1 700 700 IT LIT Harzer El groupdir perms Zugriffsrechte eines neuen Gruppenverzeichnisses 1 770 7 70 775 775 777 777 userrow Spaltenanzahl der Benutzerlisten 1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 E ETS grouprow Spaltenanzahl der Gruppenlisten 1 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 stdshell Pfad Dateiname zur Standardshell 8 config info module info 26 27 Table of Contents index cgi user cgi useradd cgi usermod cgi userdel cgi group cgi groupadd cgi groupmod cgi groupdel cgi userauto cgi userauto2 cgi config info module info Inhaltsverzeichnis 2 3 2 3 2 3 2 3 2 2 4 3
84. lich kann der Samba Account modifiziert und die zugeord nete Shell ver ndert werden F r das L schen von Benutzern gibt es bei normalen Benutzern die Option das Heimat verzeichnis zu entfernen Bei System Benutzern wurde auf diese Option verzichtet da sich das Heimatverzeichnis von solchen Benutzern h ufig im normalen Verzeichnisbaum befindet Hierdurch sollen Funktionseinschr nkungen oder Systemausf lle durch L schen von wichtigen Systemverzeichnissen vermieden werden Die Zuordnung zu normalen Be nutzern bzw System Benutzern wird anhand der Benutzer Identifikationsnummer UID vorgenommen Benutzer mit einer UID kleiner 100 oder einer UID von 65534 werden den System Benutzern zugeordnet alle anderen den normalen Benutzern Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion Seite 3 2 3 Automatische Benutzeranlegung Die automatische Benutzeranlegung gliedert sich in zwei Abschnitte die Konfigurations einstellung siehe Abbildung 2a und das eigentliche Anlegen Dabei werden in den Kon figurationseinstellungen die ben tigten Werte wie z B Datei mit Benutzerdaten Pfad f r die Datei mit den generierten Benutzerdaten Typ des Benutzers Sch ler oder Lehrer angegeben Anschlie end kann ber den Button Benutzer anlegen die automatische Be nutzeranlegung gestartet werden Erforderliche Felder in der Benutzerdaten Datei sind Vorname N
85. lt td gt lt b gt hlink Stext groupmod8 groupmod 6 lt b gt lt td gt n Gd dd dd dd dd d RR d dd d d d dd dd dd dd dd dd d d d d d d d dd tt Z Liste mit Benutzern die in die Gruppe eingetragen werden k nnen print lt td gt lt select name pop_useradd size 10 multiple gt n alluser getusers foreach Sschluessel sort keys alluser if defined Ssecuser Sschluessel or defined Sprimuser Sschluessel E next print lt option value schluessel gt schluessel alluser schluessel lt option gt n print lt select gt n print lt td gt n print lt tr gt n print lt table gt n Tabellenende EEE FEEEEF print lt br gt n ERENTO 16 27 groupmod cgi Seite 5 5 nRTTHTH Tabelle f r Buttons und versteckte Felder print lt table border 0 cellspacing O cellpadding 5 gt n print lt tr gt n print lt td gt amp nbsp lt input type submit value text submitg3 gt amp nbsp lt td gt n print lt td gt amp nbsp lt input type reset value text reset gt n print lt input type hidden name group value in group gt n print lt tr gt n print lt table gt n Tabellenende BETTEN d dd d d dt dd dt dd dt Z g print lt form gt n Formularende ENTER FEEHEF print lt hr gt n amp footer module_name group cgi Stext back2 groupdel cgi Seite 1 2 usr bin perl t dd dd dd d dd
86. me schueler lt Gruppe gt lt Gruppe gt Typ S Anmeldung di S gt des Henutzers v Lehrer ldung direkt auf Server ett Standardshell bin bash Samba Benutzer ja einri Heimatverzeichnis erstellen wv nein vnein EE Vorhandene Benutzer Gruppen l schen Zur cks etzen E Zur ck zu bersicht de Zur ck zu bersicht E root logged into Webmin 0 63 on projekt SuSE Linux 7 0 SE a Benutzermanager b Gruppenmanager Abbildung 1 Benutzer und Gruppenmanager zu bieten Die Optionen f r einen neuen Benutzer sind aufgrund der Systemgegeben heiten weitreichender als die einer neuen Gruppe Die wichtigsten Funktionen die die vorhandene Benutzerverwaltung von WebMin nicht bietet ist das gleichzeitige Anlegen eines Samba Accounts sowie die M glichkeit der Generierung eines Pa wortes siehe auch Kapitel 3 3 Anhand der Einstellung ob es sich bei dem anzulegenden Benutzer um einen Sch ler oder Lehrer handelt wird der Pfad des Heimatverzeichnisses gebildet Dieser setzt sich bei Sch lern aus dem Pfad zu den Sch ler Heimatverzeichnissen der prim ren Gruppe und dem Anmeldenamen zusammen bei Lehrern aus dem Pfad zu den Lehrer Heimatverzeichnissen und dem Anmeldenamen Bei der Benutzermodifizierung besteht neben der Modifizierung der Gruppenmitgliedschaf ten die M glichkeit das Pa wort sowohl f r den System Account als auch fur den Samba Account zu ver ndern Zus tz
87. n Das Heimatverzeichnis eines Accounts wird nur gel scht wenn im Benutzermanager das entsprechende Optionsfeld eingeschaltet ist Standard und es sich nicht um einen System Account handelt Desweiteren versucht dieses Modul auf jedem Fall den Samba Account zu l schen da eine Anmeldung ber Samba ohne entsprechenden Unix Linux im Normal fall nicht m glich ist und somit Inkonsistenzen in den Benutzerdatenbanken vermieden werden k nnen Sollten Fehler beim L schen von Accounts auftreten wird eine entsprechende Meldung mit der Gesamtzahl der Fehler ausgegeben Zum Abschlu werden noch Laufzeit Daten ber die Scriptausf hrung wiedergegeben 6 Gruppenmanager Der Gruppenmanager ist f r die Verwaltung aller Gruppen des System gedacht Dabei werden folgende Funktionen bereitgestellt 1 Neue Gruppe anlegen 2 Gruppe modifizieren und 3 Gruppe n l schen Aufgeteilt ist die Seite in drei Teile 1 Eingabefeld und Optionen die f r die Erstellung einer neuen Gruppe n tig sind 2 eine Tabelle mit vorhandenen normalen Gruppen und 3 eine Tabelle mit vorhandenen System Gruppen Eine neue Gruppe k nnen Sie ber die Einstellungen im oberen Teil spezifizieren und ber den Button Gruppe anlegen angelegen Die Erl uterungen zu den einzelnen Fel dern erhalten sie im Abschnitt 6 1 1 ber den Button Zur cksetzen k nnen Sie alle Formularfelder auf ihren Ursprungswert zur cksetzen Die nachfolgenden Tabellen zeigen al
88. n Konfigurations variablen homedir_lehrer Pfad zu Lehrerheimatverzeichnissen Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 EEE 0 0 2 EEFEF homedir_schueler Pfad zu Sch lerheimatverzeichnissen BER dd d dd dd RE RR RR d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Verwendete Variablen local my Sreturn 0 R ckgabewert von Systemaufrufen my Spasswd Pa wort Spasswdvalid Pa wortvalidierung Ve HH HH HH L tttt HH HH HH FERRER Bibliotheken einbinden do web lib pl do usermgr lib pl amp init_config amp ReadParse BERN RR d d d d dd dd dd dd dd dd d d d d d d d d dd tt Z Funktion passwdpart bergabewert keine R ckgabewert keine Beschreibung Liefert HTML Code f r die Eingabe eines Pa wortes Aufrufscript useradd cgi Method post Felder txt_password txt_passwordvalid pop group rad passwd rad shell skel userhome txt_username txt_realname rad_smb tt dd dd d dd dd dd dd TTT d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z sub passwdpart print lt lt EOP lt form action useradd cgi method post gt useradd cgi useradd cgi Seite 2 4 lt table border 0 cellpadding 5 gt lt tr gt lt td gt lt b gt print hlink text useradd8 useradd textluseradd8 print lt lt EOP lt b gt lt td gt lt td gt lt input type password maxlength 12 name txt_passwd size 14 gt lt td gt lt
89. n lt b gt lt nobr gt print lt hr gt n print lt p gt n EHRT d dd gd dd dt dd dd dt BRHHHH nderung der Gruppenmitglieder if defined Sin pop useradd or defined in pop_userdel print lt h3 gt text groupmod9 Sin group lt h3 gt EEE HER HH tt Mitglieder aus Gruppe entfernen if defined Sin pop_userdel print lt pre gt n Gdeluser readpopmultiple Sin pop userdel foreach Stempl deluser print text groupmodl0 Stempl Sin group groups getusergroups templ foreach keys groups next if S S_ eg Sin group Ser sermod 8 chop str_usermod return system usermod G str_usermod templ gt dev null 2 gt amp 1 if return 0 print lt b gt text return1 lt b gt n else print lt b gt text return2 hlink RC return systemprogs um retum lt b gt n undef str_usermod undef Sgroups print lt pre gt n EEE HER HERR tt EEE dt dd dd tt Benutzer zur Gruppe hinzuf gen if defined Sin pop_useradd print lt pre gt n Gadduser readpopmultiple Sin pop useradd foreach Stempl adduser print text groupmodil templ in group groups getusergroups Stempl Sstr_usermod join keys groups Sin group return system usermod G str_usermod templ gt dev null 2 gt amp 1 if return 0 print lt b gt text returnl lt b gt un
90. n werden in den ent sprechenden System Datenbanken passwd group shadow und smbpasswd gespeichert Bei der Funktion F3 0 werden die generierten Benutzerdaten samt Pa wort in eine Datei gespeichert wobei Ort und Format frei eingestellt werden kann 6 Benutzeroberfl che Die Benutzeroberfl che wird f r eine minimale Aufl sung von 800 x 600 Pixeln optimiert ansonsten orientiert sich das Design an die Vorgaben von WebMin siehe 1 7 Qualit ts Zielbestimmung Ziel ist es die Benutzer und Gruppenadministration f r Administratoren und Informatik Fachlehrer zu vereinfachen und die erforderlichen Arbeitszeiten zu minimieren Hierzu z hlt insbesondere die leichte Einarbeitung Verst ndlichkeit Selbstbeschreibung und Zu verl ssigkeit Eine besondere Optimierung der Geschwindigkeit der automatischen Be nutzeranlegung wird nicht angestrebt da diese Funktion normalerweise nur einmal pro Schuljahr verwendet wird Ansonsten gelten die Zielbestimmungen von WebMin siehe 2 8 Globale Testszenarien W rend der gesamten Entwicklungszeit werden die einzelnen Funktionen auf ihre Fehler losigkeit berpr ft Vor der Freigabe des L sungspakets wird die Installation auf einem weiteren System getestet und die gesamte Funktionalit t mit verschiedenen Browsern und Betriebssystemen berpr ft um ein fehlerfreies Produkt zu garantieren 9 Entwicklungsumgebung 9 1 Software Server SuSE Linux Distribution Version 7 0 WebMin V
91. n z B Microsoft Windows Linux oder Apple Macintosh Weiterhin wird ein JavaScript f higer Webbrowser vorausgesetzt z B Microsoft Internet Explorer oder Nets cape Die Clients sollten mindestens mit einer Bildschirmaufl sung von 800 x 600 Pixeln betrieben werden 4 Produktfunktionen Die einzelnen Produktfunktionen sind jeweils so aufgebaut da sie ihre Ausgaben die berpr fung der bergebenen Werte und die Fehlerbehandlung selber ausf hren Eine Hilfe steht in jeder Funktion zur Verf gung wobei immer die zur Funktion geh rende Hilfeseite aufgerufen wird Zu vielen Einstellungen Ausgaben und Fehlermeldungen steht zus tzlich eine Kontext Hilfe die ber Links implementiert wurde zur Verf gung Tobias Brinkert 12 Februar 200 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft seite 5 4 1 Produktfunktion 1 Benutzerverwaltung F1 0 Diese Funktion stellt die im System vorhandenen Benutzer aufgeteilt nach normalen Be nutzern und System Benutzern in Tabellenform dar Die Werte die f r F1 1 und F1 3 n tig sind werden ber diese Funktion eingetragen F1 2 wird mittels eines Links der Benut zername bergeben Die Ausf hrung der Funktionen F1 1 F1 2 und F1 3 wird hier ber gestartet 4 1 1 Subfunktion 1 Benutzer anlegen F1 1 Die erforderlichen Eigenschaften eines neuen Benutzers werden von F1 0 an diese Funk tion bergeben Zu den Eigenschaften eines neuen Benutzers
92. n 3 ba iai ea ee a Le e lu L EE 3 LA Script usermod co 3 1 5 Script userdel cJdi 4uuununnannnnnnnnnnnnnnnnnnnn nun nenne 3 1 6 Script GIOUD COL e ger e ek aan a ann 4 1 7 Script groupadd cgi VYY Y FFF GG GG GG GG Y nn nn nn nen 4 1 8 Script groupmod cgi LLLL LG GG Ru 4 1 9 Script groupdel cgi VYY GYF Y GG GG GG GY Y un nn nen 4 1 10 Script userauto cgi LLL LL GG RAA 4 1 11 Script userauto2 Cg YY GG GG GG GA 4 2 _ Bibliotheksfunktionen in usermmgr Jnp 4 2 1 Funktion DOsswcdden RG GG ua 4 2 2 Funktion dgelgroupe uu 5 2 3 Funktion dgeluseres nun nenn A ud 5 2 4 Funktion getusergroups RG nn nun nun nun nn 5 2 5 Funktion getgroupsecuser nn uu 5 2 6 Funktion getgroupprimuser nun nn 6 2 7 Funktion readpopmultiple I Fu uu 6 3 Weitere Dateien und Verzeichnisse YY uu 6 3 1 Datei conftg YY Y GG GG GG GG Ad 6 3 2 Datei cConftglntoxyx LL Ru 6 3 3 Dateimodule infO Y Y ER uad 6 34 YVeIZOICDnIS TIDY Dw DA rien 6 3 5 Verzeichnisimage sS AA AA ud 6 3 6 Verzeichnislang LLY GG AA 7 Tobias Brinkert 0A M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Systemdokumenftafion Seite 3 1 Beschreibung der einzelnen Scripte 1 1 Script index cgi
93. n Bildschirmaufl sung Schw chen in der bersichtlichkeit Die Einsatzf higkeit des Produkts ist hiervon aber nicht betroffen Freigegeben wurde das Produkt mit der Versionskennung 0 2 0 Die Implementierung auf dem File Server erfolgte am 1 M rz 2001 nach Absprache mit dem Schulleiter Herrn Schubert Modifizierungen am System waren nicht notwendig Auf dem prim ren File Server wurden die notwendigen Modulkonfigurationen durchgef hrt und die Funktionali t t mit den vorhandenen Clients Windows 95 Netscape Communicator 4 73 berpr ft 4 Soll Ist Vergleich In der Tabelle 2 ist ein R ckblick zwischen den Mu und Wunschkriterien die im Pflich tenheft definiert worden sind und der umgesetzten Funktionalit t des Benutzer und Gruppenmanagers wiedergegeben Ein Soll Ist Vergleich der Zeitplanung ist ber die Ta belle 3 durchgef hrt worden Dabei zeigt sich da die Umsetzung des L sungspaketes als WebMin Modul die Zeit f r den Anwendungsentwurf sowie Installation und Testlauf verk rzten Die Dauer f r die Einweisung der EDV Lehrer konnte durch die bekannte Oberfl che verringert werden jedoch ist f r die umfangreiche Dokumentation mehr Zeit ben tigt worden Durchgef hrt wurde das Projekt innerhalb der veranschlagten 35 Stun den vom 12 Feb bis 23 Feb 2001 Die Vorstellung des Produktes sowie die Einweisung der EDV Lehrer erfolgte am 05 M rz 2001 Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Ben
94. n gt n elsif Suser 8 eg bin false print lt option selected gt bin false lt option gt n print lt option gt config stdshell lt option gt n else print lt option selected gt user 8 lt option gt n print lt option gt config stdshell lt option gt n print lt option gt bin false lt option gt n print lt select gt n print lt td gt n print lt tr gt n print lt tr gt n print lt td gt lt b gt hlink text usermod5 usermod 12 lt b gt lt td gt n print lt td gt lt input type text name txt_primgroup maxlength 50 size 10 value primgroup gt group_chooser_button txt_primgroup 0 0 lt td gt n print lt td gt lt b gt hlink Stext usermod24 usermod 13 lt b gt lt td gt n print lt td gt lt select name pop_secgroupsdel size 7 multiple gt n foreach Sschluessel sort keys secgroups print lt option value schluessel gt schluessel secgroups schluessel lt option gt n print lt select gt lt td gt n print lt td gt lt b gt hlink text usermod23 usermod 14 lt b gt lt td gt n print lt td gt lt select name pop_secgroupsadd size 7 multiple gt n groups amp getgroups foreach Sschluessel sort keys groups unless defined Ssecgroups Sschluessel or Sschluessel eg Sprimgrou usermod cgi usermod cgi Seite 6 6 print lt option value schluessel gt sc
95. n txt_primgroup eg undef error Stext fehlerum2 exit else Schange 1 Sstr_usermod g in txt_primgroup if Sin shell ne Sin pop shell Sstr_usermod s in pop shell Schange 1 EHRT NT TEEN TITTEN dd dd dt BHHHHH sekund re Gruppenzugeh rigkeiten ndern secgroups getusergroups Sin user if defined Sin pop secgroupsdel HEI usermod cgi Seite 3 6 delgroups readpopmultiple in pop_secgroupsdel foreach delgroups delete Ssecgroups _ Stemp 1 if defined Sin pop_secgroupsadd addgroups readpopmultiple in pop_secgroupsadd foreach addgroups Ssecgroups _ getgrnam S_ Stemp 1 if Stemp 1 Sstr_usermod G join keys secgroups VW Schange 1 undef Ssecgroups Gd dd dd d dd dd RR RR d d d d d dd dd dd dd dd d d d d d d d d dd Z Start der HTML Ausgabe amp header Stext titelu3 usermod undef undef undef lt nobr gt Written by lt nobr gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt hr gt n print lt p gt n HERR d d df ad Benutzerdaten ndern if Schange 1 print lt h3 gt text usermod22 Sinf user lt h3 gt n print
96. nden Tabellen zeigen alle im System vorhandenen Benutzer Hierbei werden die Benutzer in zwei Kategorien eingeteilt Normal und System ber das Anklicken eines Benutzernamens gelangen Sie auf eine Seite wo sie detailierte Benutzerinformationen er halten sowie diese ver ndern k nnen M chten Sie Benutzer aus dem System entfernen markieren Sie die Checkboxen rechts neben dem Benutzernamen Erst wenn Sie den But ton Benutzer l schen dr cken werden die Benutzer aus dem System entfernt ber den Button Zur cksetzen werden alle Checkboxen demarkiert F r normale Benutzer kann ber das Optionsfeld welches sich unter der Tabelle f r nor male Benutzer befindet ausgew hlt werden ob die Heimatverzeichnisse mit gel scht wer den sollen siehe Abschnitt 2 1 2 Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 2 1 Beschreibung der Felder 2 1 1 Neuen Benutzer anlegen Accountname Der Anmeldename des Benutzers wird auch f r Netzwerkdienste wie Samba FTP Mail ben tigt Realer Name Der Vor und Nachname des Benutzers dem dieser Account geh rt Bei System Accounts wird hier h ufig eine Beschreibung der Funktion des Accounts an gegeben Prim re Gruppe Unter Unix Betriebssystemen besteht ein Gruppenzwang das hei t das jeder Benutzer mindestens einer Gruppe zugeordnet werden mu Die Haupt gruppe eines Benutzers mit der er bei der Anmeldung initialisiert wird wir
97. neben dem Gruppennamen in den beiden Gruppentabellen vorgenommen Zu l schende Gruppen d rfen keine prim ren Gruppenmitglieder enthalten ansonsten wird diese Gruppe nicht gel scht Ein gleichzeitiges L schen des Gruppenverzeichnisses ist nicht implementiert da die Systemdatenbanken eine solche Information nicht speichern Der Bedarf an einer solchen Funktionalit t wird als sehr gering eingestuft so da auf eine Implementierung einer eigenen Datenbank verzichtet wurde 3 2 2 Benutzermanager F r den Benutzermanager siehe Abbildung 1a wurde derselbe Aufbau wie beim Grup penmanager gew hlt um eine einheitliche Oberfl che sowie eine einfache Einarbeitung Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumentation seite 6 KS Netscape Benutzemmanager OL ae x Netscape Griuppenmanager o _2 Datei Bearbeiten Ansicht Gehezu Communicator Hilfe Datei Bearbeiten Ansicht Sehezu Communicator Hife Webmin Index _ Benutzermanager Webmin Index A eomin Index Written by ST Gruppenmanager KH ersion U Z Neuen Benutzer anlegen Neue Gruppe anlegen Accountname I Realer Name B Gruppenname 1 SE Pa wort automatisch ja Gruppenverzeichnis anlegen Prim re Gruppe EE R a IT S Gruppe EE generieren vnein A Sch ler gt Gicht erlaubt Gruppenverzeichnis ezport ho
98. nen der Benutzer entfernt werden soll addgroups Gruppen zu denen der Benutzer hinzugef gt werde n soll O my Ssecgroups GID falle sekund ren Gruppen des Benutzers Group gt S groups falle vorhandenen Gruppen Group gt GID 3 EEE HH HH L tttt HH Ett L tttt Bibliotheken einbinden D l usermod cgi usermod cgi Seite 2 6 do web lib pl do usermgr lib pl amp init_config ReadParse dt td dd dt dd dd dd dd dd dd dt G dt berpr fung ob nderungen vorgenommen werden m ssen und Generierung der Optionsstrings f r die Systemprogramme if defined in primgroup if Sin rad passchange eg ja or Sin rad samba eg add or Sin rad samba eg passwd if Sin txt_passwd ne Sin txt_passwdvalid error Stext fehleruml exit if Sin rad passchange eg ja Sstr_usermod pV in txt_passwd N if Sin rad_ samba eg add str_smbpasswd a e s in user V in txt_passwd elsif S Sin rad samba eg passwd str_smbpasswd s in user in txt_passwd Schange 1 if S Sin rad samba eg enable Sstr_smbpasswd e s inf user Schange 1 elsif Sin rad samba eg disable str_smbpasswd d s in user Schange 1 elsif Sin rad_samba eq delete Sstr_smbpasswd x s in user Schange 1 if Sin txt_primgroup ne Sin primgroup if getgrnam i
99. ngen f r HOMEDIR_SCHUELER und HOMEDIR_LEHRER k nnen ber das Konfigura tionsmen von Benutzer und Gruppenverwaltung angepa t werden Trennzeichen in Benutzerdaten Leet das Trennzeichen f r die einzelnen Spalten der Benutzerdaten fest Das Trennzeichen gilt sowohl f r die Datei mit den Benutzerda ten als auch f r die generierten Benutzerdaten Format der Benutzerdaten und Format der generierten Benutzerdaten Die beiden Dropdown Felder legen das System fest von dem die Benutzerdaten stammen und mit welchem sie weiterverarbeitet werden sollen Prefix f r Gruppen Dieser String wird der in den Benutzerdaten angegebenen Gruppe vorangestellt und daraus ein Gruppenname generiert Wird hier ein String angege ben und ist in den Benutzerdaten ein Gruppenname angegeben der nur aus einer Ziffer und einem Buchstaben besteht wird hier der Ziffer eine 0 vorangestellt so da eine zweistellige Ziffer generiert wird 11 Status der automatischen Benutzeranlegung Das Programm zur automatischen Anlegung von Benutzern gibt w hrend der gesamten Laufzeit Statusinformationen ber den Stand der Arbeit sowie einige bersichten zum Abschlu aus Zuerst wird gepr ft ob alle ben tigten Gruppen vorhanden sind und ber diese Pr fung eine Meldung ausgegeben W hrend des Anlegens der einzelnen Benut zer wird der Name des aktuell bearbeiteten Benutzers der generierte Account Name die zugeordnete prim re Gruppe sowie eine Bearbeitungsmeldun
100. nn die Gruppendatei nicht aktualisieren Programm userdel RC 0 Benutzer erfolgreich gel scht RC 1 Kann die Pa wort Datei nicht aktualisieren RC 2 Kommandosyntax fehlerhaft RC 6 Angegebener Benutzer existiert nicht RC 8 Der Benutzer ist zur Zeit auf dem System angemeldet RC 10 Kann die Gruppendatei nicht aktualisieren RC 12 Kann das Heimatverzeichnis nicht l schen Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Programm groupadd RC 0 Gruppe erfolgreich angelegt RC 2 Kommandosyntax fehlerhaft RC 3 Fehlerhafte Argumente f r Optionen RC 4 GID ist nicht eindeutig RC 9 Gruppenname ist nicht eindeutig RC 10 Kann die Gruppendatei nicht aktualisieren Programm groupmod RC 0 Gruppe erfolgreich modifiziert RC 2 Kommandosyntax fehlerhaft RC 3 Fehlerhafte Argumente f r Optionen RC 4 GID ist nicht eindeutig RC 6 Angegebene Gruppe existiert nicht RC 9 Gruppenname ist nicht eundeutig RC 10 Kann die Gruppendatei nicht aktualisieren Programm groupdel RC 0 Gruppe erfolgreich gel scht RC 2 Kommandosyntax fehlerhaft RC 6 Angegebene Gruppe existiert nicht RC 8 Kann die prim re Gruppe eines Benutzers nicht l schen RC 10 Kann die Gruppendatei nicht aktualisieren Programm smbpasswd Seite 21 RC 1 Beim Ver ndern eines Samba Accounts Befehl smbpasswd ist ein Fehler
101. nutzerdaten Elemente Vorname Nachname Klasse username generierter Accountname foreach nr2 1 username lc substr temp 0 0 nr2 substr temp 1 0 nr1 return getpwnam lc username Lu o D Tobias Brinkert 04 M rz 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Projektdokumentation seite 13 6 3 Glossar prim res Gruppenmitglied Benutzer die eine Gruppe als Hauptgruppe verwenden und mir ihr bei der Anmeldung initialisiert werden sind prim res Gruppenmitglied die ser Gruppe Alle Dateien die der Benutzer neu anlegt werden der prim ren Gruppe des Besitzers zugeordnet sekund res Gruppenmitglied Zus tzlich zur prim ren Gruppe k nnen Benutzer in weiteren Gruppen Mitglied sein die sekund re Gruppenmitgliedschaft genannt wird normale Gruppen Benutzer Gruppen Benutzer die frei angelegt werden k nnen und die keine systemspezifischen Aufgaben haben F r normale Gruppen bzw Be nutzer sind Identifikationsnummern GID bzw UID zwischen 100 und 65533 vorge sehen System Gruppen Benutzer Gruppen Benutzer die f r spezielle System Aufgaben zust ndig sind z B root bin named Gekennzeichnet werden diese Gruppen Benutzer durch eine Identifikationsnummer GID bzw UID unter 100 oder einer GID UID mit dem Wert 65534 HTTP Hypertext Transfer Protokoll zust ndig f r die Verst ndigung zwischen WWW Se
102. nzuraten die auf dem prim ren File Server mittels einer SSL verschl sselten WebMin Sitzung schon implementiert ist Desweiteren werden die Ver nderungen der Systemdatenbanken nicht direkt durchge f hrt sondern ber die entsprechend daf r vorgesehenden Programme so da keine Me thoden zum Locking gesondert implementiert werden m ssen Hiermit soll sichergestellt Tobias Brinkert 04 M rz 2001 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion Seite 9 werden da keine Besch digungen an den Systemdatenbanken durch die parallele Ver wendung dieses WebMin Moduls eintreten k nnen 3 5 Qualit tssicherung und Freigabe Um ein fehlerfreies Produkt zu garantieren wurden alle Funktionen des WebMin Moduls berpr ft Als Clients kamen folgende Konstellationen zum Einsatz 1 SuSE Linux Version 7 0 mit dem Webbrowser Netscape Navigator 4 75 und den Auf l sungen 800 x 600 dpi 1024 x 786 dpi und 1280 x 1024 dpi 2 MS Windows 98 mit den Webbrowsern Netscape Communicator 4 75 MS Internet Explorer 4 0 und 5 5 sowie den Aufl sung 800 x 600 dpi und 1024 x 786 dpi 3 MacOS 7 6 1 mit dem Webbrowser Netscape Navigator 3 01 und einer Aufl sung von 640 x 480 dpi Daneben wurde das L sungspaket auf dem Entwicklungs Client installiert und alle Funk tionen mit den oben genannten Client Konstellationen noch einmal berpr ft Beim Ma cintoshsystem zeigten sich aufgrund der geringe
103. ollen m ssen vorher im System vorhanden sein ansonsten wird eine Fehlermeldung mit den noch fehlenden Gruppen ausgegeben und die Ausf hrung beendet Der Accountname wird anhand des Vor und Nachnamens gebildet und komplett in Klein buchstaben umgewandelt Hierf r werden zuerst die Sonderzeichen die in einem Na men vorkommen k nnen entfernt und die Umlaute ersetzt Danach wird versucht einen Anmeldenamen zu generieren der aus dem ersten Buchstaben des Vornamens und dem Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 18 Nachnamen zusammengesetzt wird jedoch h chstens 12 Zeichen Ist der Name im System schon vorhanden werden die ersten beiden Buchstaben des Vornamens und der Nachna me genommen usw Sollte kein Anmeldename generiert werden k nnen wird der Benutzer nicht angelegt und mit dem n chsten fortgefahren nach entsprechender Fehlermeldung F r jeden Benutzer in der Listendatei werden folgende Einstellungen durchgef hrt 1 System Account einrichten 2 Pa wort generieren 8 Zeichen wobei das Pa wort aus dem mit Hilfe des Soundex Algorithmus gepackten Anmeldenamen und 4 weiteren zuf lligen Zeichen besteht Sollte der Soundex Algorithmus keinen Wert liefern k nnen wird das Pa wort kom plett aus 8 zuf lligen Zeichen generiert 3 Profildateien ins Heimatverzeichnis kopieren 4 Samba Account einrichten und aktivieren Die folgenden Daten werden f r
104. ort 0 print lt td gt lt tr gt lt tr gt n print lt td gt lt b gt hlink text userauto3 userautoff2 lt b gt lt td gt n print lt td gt lt input type text maxlength 100 name txt_export size 40 gt amp nbsp n print amp file_chooser_button txt_export 1 groupdel cgi userauto cgi 18 27 userauto cgi Seite 2 3 userauto cgi Seite 3 3 print lt td gt lt tr gt lt tr gt n lt td gt lt input type reset value text reset gt amp nbsp lt td gt print lt td gt lt b gt hlink Stext userauto4 userauto 3 lt tr gt lt b gt lt td gt n lt table gt print lt lt EOP lt form gt lt td gt lt hr gt lt input type radio name rad_usertyp value s checked gt amp nbsp text userauto EOP 8 lt br gt lt input type radio name rad_usertyp value t gt amp nbsp Stext userauto9 Formular und Tabellenende lt td gt lt tr gt lt tr gt Gd dd dd dd dd d dd dd d d d d d d dd dd dd dd dd dd d d d d d d d dd tt EOP EFEFH print lt td gt lt b gt hlink text userauto5 userauto 4 amp footer module_name Stext backl lt b gt lt td gt n print lt lt EOP lt td gt lt select name pop_fieldpattern size 1 gt lt option value selected gt amp nbsp amp nbsp amp nbsp amp nbsp lt option gt lt option value gt amp nbsp amp nbsp amp nbsp amp nbsp lt option gt lt option value gt amp nbsp amp nbsp amp nbsp n
105. oupmod8 Gruppenmitglied er hinzuf gen groupmod9 Ruckmeldung der Gruppenmodifizierung von lt i gt l lt i gt groupmodl0 Benutzer lt b gt S1 lt b gt wird aus Gruppe lt b gt 2 lt b gt entfernt groupmodll Benutzer lt b gt 1 lt b gt wird der Gruppe lt b gt 2 lt b gt hinzugef gt tabuserl Benutzer tabuser2 L schen submitgl Gruppe anlegen submitg2 Gruppen l schen submitg3 Gruppe ndern submitul Benutzer anlegen submitu2 Benutzer l schen submitu3 Benutzer ndern submitual Abschicken submitaul Benutzer anlegen reset Zur cksetzen fehlergal Sie haben keinen oder einen ung ltigen Gruppennamen eingegebe e fehlerga2 Die angegebene Gruppe ist schon vorhanden fehlerga3l Eine Datei Verzeichnis mit dem Namen fehlerga32 existiert bereits lt br gt Bitte geben Sie ein anderes Gruppenve rzeichnis an oder l schen verschieben Sie die Datei das Verzeichnis fehlerual Sie haben keinen oder einen ung ltigen Benutzernamen eingegeb en fehlerua2 Sie m ssen eine prim re Gruppe ausw hlen fehlerua3 Fur den Benutzer wurde als Heimatverzeichnis lt i gt Sl lt i gt angege ben Eine Datei Verzeichnis mit diesem Namen existiert bereits lt br gt Bitt e geben Sie einen anderen Benutzernamen Gruppe an oder l schen versch ieben Sie die Datei das Verzeichnis fehleruml Die beiden angegebenen Pa w rter sind nicht identisch fehlerum2 Sie haben eine nicht existierende prim re Gruppe angegeben feh
106. rt be danken die mir dieses Projekt erm glicht haben bei der Firma InfoTech Gesellschaft f r Informations und Datentechnik mbH in Recklinghausen f r die Bereitstellung des Entwicklungs Servers sowie bei Herrn Lothar Dornieden f r die Durchsicht des Pflichten heftes Desweiteren bei allen die mir im Vorfeld wertvolle Anregungen zur Gestaltung und Funktionsumfang des L sungspaketes gegeben haben und allen die die Dokumentationen Korrektur gelesen haben 7 Anlagen Anlage I Pflichtenheft Anlage II Benutzerhandbuch Anlage III Systemdokumentation Anlage IV Guellcode Tobias Brinkert 04 M rz 2001 Anlage I Pflichtenheft Pflichtenheff Erstellung eines LOsungspakets zur Benutzerverwaltung auf einem Linux Server Tobias Brinkert eMail t brinkert215bit de Internet www 15bit de 12 Februar 200 Erstellung eines LOsungspaketes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft seite 2 Inhaltsverzeichnis 1 ZOelbestimmung nenn nn nn nun 3 1 1 Mub krterten nun nn nun nn nun nun nn nn nn nn nun nn 3 1 2 ln ET ee 3 1 3 Aborenzungskrtteren nn nennen 3 1 4 Ferttgoungdslellungsterin nenn nn nun nn nn 3 2 Produkteinsa z nn a ann an anna ar 4 2 1 Anwendungsbereich LL LL A EL LE RE Eu 4 cn ED EEEE EE EREEREER 4 3 Produktumgebung Y GG LL RAA A nud 4 A NF cw 4 nn EF FF EN RF I FF FFR FFR FN FE RF EN FF FFR 4 A EECHER
107. rver z B Apache und Webbrowser Client z B Netscape Navigator SSL Secure Socket Layer Verschl sselungsmethode f r die Verbindung zwischen WWW Server und Webbrowser Perl Practical Extraction and Report Language eine Interpretersprache die speziell bei Systemprogrammierern und Web Entwicklern sehr popul r ist Urspr nglich wurde sie von Larry Wall f r das Unix Betriebssystem entworfen heute l uft sie auf einer Vielzahl von System z B OS 2 Windows Macintosh Plan 9 WebMin Webbasiertes Administrationstool f r Unix artige Betriebssysteme welches mo dular aufgebaut ist WebMin stellt einen eigenen Web Server bereit der standard m ig ber den Port 10000 erreichbar ist 6 4 verwendete Literatur e WebMin Modules http www webmin com webmin modules htm e Programmieren mit Perl Larry Wall Tom Christiansen und Randal L Schwartz O Reilly Verlag Deutsche Ausgabe der 2 Auflage 1997 e Perl 5 kurz amp gut Johan Vromans O Reilly Verlag Deutsche Ausgabe 2000 e HTML kurz amp gut Jennifer Niederst O Reilly Verlag Deutsche Ausgabe 2000 e man Pages zu useradd 8 usermod 8 userdel 8 groupadd 8 groupmod 8 group del 8 smbpasswd 8 und recode ll Tobias Brinkert 04 M rz 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Projektdokumenftafion Seite 14 6 5 Danksagung An dieser Stelle m chte ich mich bei der Realschule Ascheberg und Herrn Schube
108. schen markieren Sie bitte diese Benutzer Eine Mehr fachauswahl ist m glich Bitte beachten Sie da wenn sie sehr viele Mitglieder markieren es vorkommen kann da nicht alle sekund ren Mitglieder der Gruppen gel scht werden Wenn dieser Fall auftritt wiederholen sie bitte die Modifizierung der Zugeh rigkeit zu der Gruppe Gruppenmitglied er hinzuf gen Die Liste enth lt alle Benutzer mit der UID in Klam mern die in dieser Gruppe sekund res Mitglied werden k nnen M chten Sie der Gruppe weiteren sekund ren Mitglieder hinzuf gen markieren Sie bitte die entspre chenden Benutzer Eine Mehrfachauswahl ist m glich Bitte beachten Sie da wenn sie sehr viele Benutzer markieren es vorkommen kann da nicht alle der Gruppe als sekund res Mitglieder hinzugef gt werden Wenn dieser Fall auftritt wiederholen sie bitte die Modifizierung der Zugeh rigkeit zu der Gruppe 9 Gruppe l schen Die Gruppen die im Gruppenmanager zum L schen markiert wurden werden jetzt ge l scht Hierbei wird f r jede Gruppe der Status der Gruppenentfernung angezeigt Die Tobias Brinkert 28 Februar 2001 Benutzerhandbuch zum Benutzer und Gruppenmanager v0 2 0 Seite 17 m glichen R ckgabewerte sind 1 erfolgt wird f r eine erfolgreiche Ausf hrung verwendet und 2 gescheitert f r eine Ausf hrung mit Fehlern Der Fehlercode wird in Klammern mit angegeben ber den Link k nnen Sie n here Informationen ber die Art
109. ser die aus der Gru Gruppenname entfernt werden sollen group Gruppenname Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 ENTER dd dt gd dd dd dd dt BHHHHH EHEN dd dd dd NT BHHHHH Verwendete Variablen local my alluser alle vorhandenen User User gt UID Ssecuser falle sekund re Mitglieder der Gruppe User gt UID Sprimuser falle prim ren Mitglieder der Gruppe User gt UID groups falle sekund ren Gruppen eines Users Group gt GID I Na my deluser alle Mitglieder die aus der Gruppe entfernt werden sollen Gadduser falle Mitglieder die zur Gruppe hinzugef gt werden s ollen my Sschluessel Zwischenspeichervariable f r foreach Schleifen Sstr_usermod String f r usermod G Stempl Zwischenspeichervariable z UN my return 0 Variable f r R ckgabewerte von Systemaufrufen HH HH HH L tttt HH HH HH FERREE Bibliotheken einbinden do web lib pl do usermgr lib pl amp init_config ReadParse EEE 0 0 2 EEFEF Start der HTML Ausgabe amp header Stext titelg3 groupmod undef undef undef lt nobr gt Written by lt no br gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt groupmod cgi groupmod cgi Seite 2 5 lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text versio
110. smb eg yes print text useradd7 lt b gt text return3 lt b gt n print lt pre gt print lt hr gt amp footer module_name user cgi Stext back3 useradd cgi 6 27 usermod cgi Seite 1 6 usr bin perl ETHERNET FEEHEF Script usermod cgi Funktion Zeigt Benutzer Details und modifiziert Benutzerdaten Aufgerufen von user cgi Werte user usermod cgi rad passchange Pa wort ndern txt_primgroup neue Prim re Gruppe pop_secgroupsdel aus sek Gruppen l schen pop_secgroupsadd zu sek Gruppen hinzuf ge Benutzername Dur rad_samba Anderung des Samba Accoun u pop shell Shell des Benutzers txt_passwd Pa wort txt_passwdvalid Pa wortvalidierung user Benutzername shell shell primgroup Prim re Gruppe Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 EL EL idi dii iii iiid TT aad zb zt br cHe ce ce I FF FREE RnnnRnnnnwnnnnnnnRnin RR RR RR RR RR d L dd dd Verwendete Variablen local my Sstr_usermod Optionsstring f r usermod Sstr_smbpasswd Optionsstring f r smbpasswd Sschluessel Laufvariable f r foreach Schleifen Sprimgroup Prim re Gruppe des Users nt Schange Kontrollvariable ob nderungen vorgenommen wurd Stempl kennzeichnet nderungen an sek Gruppen Sreturn Variable f r R ckgabewerte von Systemaufrufen 0 my Guser Informationen ber den Benutzer delgroups Gruppen aus de
111. sungspaket konfigurierbar sein die Implementierung ohne gr ere Systemmodifikationen und Aus fallzeiten auf einem Linux System erfolgen und keine zus tzlichen Kosten f r kommer zielle Software erfordern damit die L sung auch in anderen Schulen eingesetzt werden kann Das L sungspaket soll zum 15 M rz 2001 fertiggestellt und auf dem File Server der Re alschule Ascheberg implementiert werden 2 3 Systemintegrationskonzept F r den Systementwurf wurden die beiden L sungswege die Implementierung ber den HTTP Server oder als Modul in das Administrationsprogramm WebMin gegen berge stellt Die Gegen berstellung ist in Tabelle 1 wiedergegeben HTTP Server bei jeder Linux Authentifizierung mit bekannte und einheitli mu meist sepa Version mitgelie Accounts mu einge che Administrationsum rat installiert wer fert richtet werden gebung den unterst tzt Script Verschl sselte Verbin Administrator keine Compiler sowie Compiler dung mu gesondert Operationen sprachen wegen sprachen eingerichtet werden erlaubt Portierbarkeit standardm ige Verschl sselte Verbin Design vorgege Unterbindung dung ist einfach zu ben Administrator realisieren Operationen unterst tzt Scriptspra chen Mechanismen zur Konfi gurierbarkeit Hilfe und Internationalisierung vorhanden leichte Installation und MANY Tabelle 1 Gegen berstellung HTTP Server vs WebMin Tobias Brinkert 04 M rz
112. t Sin userhome config homedir_lehrer in txt_username 5 27 useradd cgi Seite 3 4 if Sin rad skel eg yes and e Sin userhome error text fehlerua3 Sin userhome if Sin rad skel eg yes if Sin rad shell eg Sconfig stdshell Sin skel config skelshell else Sin skel Sconfig skelnoshell HH HH HH Z Start der HTML Ausgabe amp header Stext titelu2 useradd undef undef undef lt nobr gt Written by lt nob r gt lt br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text version lt b gt lt nobr gt print lt hr gt n print lt p gt n print lt pre gt n G tt dd dd d dd dd RR RR d d d d d dd dd dd dd dd dd dd d d d d d d dd dt Z Generierung des Pa wortes Pa wortvalidierung Ausgabe von HTML Code f r das Eingeben des Pa wortes if Sin rad passwd eg yes print text useraddl EEE HN Z Initialisierung des Zufallszahlengenerator und srand time SS SS lt lt 15 Spasswd amp passwdgen Sin txt_username print lt b gt text return lt b gt n print text useradd2 lt b gt passwd lt b gt An elsif defined Sin txt_passwd if Sin txt_passwd eg Sin txt_passwdvalid Spasswdvalid ok Spasswd in txt_passwd
113. t Felder group Gruppenname print lt form action groupdel cgi method post gt n ERENTO FEEEEF Ausgabe der Benutzergruppen Tabelle print lt h3 gt text group5 lt h3 gt n print lt table border width 100 gt n print lt tr tb align center gt n for 1 Sconfig grouprow print lt td gt lt b gt text group7 lt b gt lt td gt n print lt td gt lt b gt text groups lt b gt lt td gt n print lt tr gt n Stempl1 0 while Stempl lt groupusr print lt tr cb gt n for 1 Sconfig grouprow print lt td gt amp nbsp lt a href groupmod cgi group groupusr temp1 gt groupusr templ lt a gt amp nbsp lt td gt n if Sgroupusr Stempl ne print lt td align center gt lt input type checkbox name chk_ groupusr templ value groupusr temp1 gt lt td gt n else print lt td gt amp nbsp lt td gt n Stempl print lt tr gt n print lt table gt n print lt hr gt n Tabellenende Gd dd dd dd d dd d dd TTT d d d d d d dd dd dd dd dd d d d d d d d dd dt EFEFH EEE dd dd dd TTT dd dd d d d d d d dd dd dd dd dd d d d d d d d dd tt Z Ausgabe der Systemgruppen Tabelle print lt h3 gt text group6 lt h3 gt n print lt table border width 100 gt n print lt tr tb align center gt n for 1 Sconfig grouprow print lt td gt lt b gt text group7 lt b gt lt td gt n print lt td gt
114. t h3 gt print lt b gt lt hr gt n amp footer Webmin index index cgi user cgi user cgi Seite 1 5 50 usr bin perl L t dd dd dd d dd ER RR d d d d d d dd dd dd dd dd dd d d d d d d d dd tt Z Script Funktion user cgi Zeigt alle vorhandenen Benutzer Felder f r die Benutzeranlegung Felder f r die Benutzerl schung Link f r die Benutzermodifizierung Konfigurations variablen Geschrieben von Tobias Brinkert letzte nderung 28 02 2001 Gd dd dd dd dd d dd dd dd d d d d dd dd dd dd dd dd d d d d d d d dd tt aad userrow Anzahl der Tabellen Spalten HH HH HH L tttt Verwendete Variablen local my Stempl 0 my Gtemp my usernor Susersys O HH HH HH L tttt HH HH HH HH BHHrHHH Bibliotheken einbinden Laufvariable f r Arrayzugriff Tempor res Array f r Gruppen alle normalen Benutzer User gt UID alle System Benutzer User gt UID do usermgr lib pl do web lib pl amp init_config Susersys usernor getusers system getusers normmal HH HH HH BHHrHHH Start der HTML Ausgabe amp header Stext titelul user undef undef undef br gt lt nobr gt lt a href mailto t brinkert 15bit de gt Tobias Brinkert lt a gt lt nobr gt lt br gt lt nobr gt lt a href http www 15bit de gt Home page lt a gt lt nobr gt lt br gt lt nobr gt Version lt b gt text
115. tekombinationen zur Auswahl gestellt um m gliche Fehlkonfigurationen auszuschlie en Generell wirde f r den Benutzer ein Vollzugriff eingestellt Dar ber hinaus haben die einzelnen Auswahl m glichkeiten folgende Bedeutung 700 Andere Benutzer au er der Besitzer haben keine Rechte auf das Verzeichnis 750 Mitglieder der prim ren Gruppe des Benutzers d rfen in das Verzeichnis hin einwechseln und den Inhalt lesen alle anderen Benutzer nicht 755 Alle anderen Benutzer auf dem System d rfen in das Verzeichnis hineinwech seln und den Inhalt lesen 770 Mitglieder der prim ren Gruppe des Benutzers haben Vollzugriff auf das Ver zeichnis 775 Mitglieder der prim ren Gruppe des Benutzers haben Vollzugriff auf das Ver zeichnis alle anderen Benutzer des System d rfen in das Verzeichnis hinein wechseln und den Inhalt lesen 777 Alle Benutzer auf dem System haben Vollzugriff auf das Verzeichnis e Zugriffsrechte eines neuen Gruppenverzeichnisses Hiermit kann festgelegt werden mit welchen Zugriffsrechten das Gruppenverzeichnis einer neuen Gruppe angelegt werden soll Hierbei wurden nur drei Rechtekombinationen zur Auswahl gestellt wobei alle Gruppenmitglieder Vollzugriff auf das Verzeichnis haben 770 Alle Benutzer die nicht Mitglied der Gruppe sind haben keinen Zugriff auf das Verzeichnis 775 Alle Benutzer die nicht Mitglied der Gruppe sind d rfen in das Verzeichnis hineinwechseln und das Verzeichnis lesen 777
116. tglieder hinzuzuf gen oder zu entfernen 4 2 3 Subfunktion 3 Gruppen l schen F2 3 F r das Entfernen von Gruppen ist diese Funktion zust ndig wobei die zu l schenden Gruppen von F2 0 bergeben werden Jede L schaktion wird mit Statusmeldungen direkt im Browserfenster ausgegeben 4 3 Produktfunktion 3 Automatische Benutzeranlegung F3 0 Die Automatische Benutzeranlegung ist in zwei Teilen realisiert worden Zuerst werden die notwendigen Konfigurationen abgefragt wozu Speicherort und format der Import und Export Datei das Feldtrennzeichen der Typ der anzulegenden Benutzer die den Pfad zum Heimatverzeichnis festlegen sowie ein optionales Prefix f r Gruppen geh ren Nach dem diese Werte eingetragen und abgeschickt wurden wird eine berpr fung der Werte vorgenommen und die Benutzer angelegt andernfalls eine Fehlermeldung ausgegeben 4 4 Produktfunktion 4 Konfiguration F4 0 Gew nscht war die Integrationsf higkeit des Produkts in die Umgebung anderer Schulen ber diese Funktion steht die M glichkeit offen dieses zu realisieren Unter anderem werden hier die verschiedenen Pfad und Verzeichnisrechte die Standardshell und die Spaltenanzahl f r Benutzer und Gruppentabellen festgelegt Tobias Brinkert 12 Februar 2001 Erstellung eines L sungspakefes zur Benutzerverwaltung auf einem Linux Server Pflichtenheft Seite 5 Produktdaten Die Daten die diese L sung erzeugt und l ngerfristig ben tigt werde
117. tr gt lt tr gt lt td gt lt gt print hlink text useradd9 useradd text useradd9 print lt lt EOP lt b gt lt td gt lt td gt lt input type password maxlength 12 name txt_passwdvalid size 14 gt lt td gt lt tr gt lt tr gt lt td gt lt input type submit value text submitual gt lt td gt lt td gt lt input type reset value text reset gt lt td gt lt tr gt lt tr gt lt td gt lt input type hidden name pop_group value Sin pop group gt input type hidden name rad_passwd value in rad_passwd gt input type hidden name rad_shell value in rad_shell gt input type hidden name skel value in skel gt input type hidden name userhome value Sin userhome gt input type hidden name txt_username value in txt_username gt input type hidden name txt_realname value in txt realname gt input type hidden name rad_smb value Sin rad_smb gt lt td gt lt td gt lt td gt lt tr gt lt table gt lt form gt EOP Gd dd dd dd dd d dd dd TTT dd d d d d dd dd dd dd dd dd d d d d d d d dt EFEFH berpr fung der bergebenen Werte und Bildung des String f r das Heima tverz if Sin txt_username w error Stext fehlerual exit if Sin pop group eg error Stext fehlerua2 exit Sin rad usertyp eg s Sin userhome Sconfig homedir schueler Sinlpop group in txt_username elsif Sin rad usertyp eq
118. txt_passwd Pa wort txt_passwdvalid Pa wortvalidierung user Benutzername hidden shell Shell hidden primgroup Prim re Gruppe hidden FR RT FR i 8 27 usermod cgi Seite 5 6 print lt form action usermod cgi method post gt n print lt br gt n print lt h3 gt text usermod9 Sin user lt h3 gt n print lt table border 0 cellspacing 0 cellpadding 2 Sch width 100 gt n print lt tr gt n print lt td gt lt b gt hlink text usermod10 usermod 8 lt b gt lt td gt n print lt td gt lt input type radio name rad_passchange value ja gt text auswahll lt br gt n print lt input type radio name rad_passchange value nein checked gt textfauswahl2 lt td gt n print lt td gt lt b gt hlink text usermod17 usermod 9 lt b gt lt td gt n print lt td gt lt input type password maxlength 14 name txt_passwd size 10 gt lt td gt n print lt td gt lt b gt hlink text usermod18 usermodfflO lt b gt lt td gt n print lt td gt lt input type password maxlength 14 name txt_passwdvalid size 10 gt lt td gt n print lt td gt lt b gt hlink text usermod8 usermod 11 lt b gt lt td gt n print lt td gt lt select name pop_shell size 1 gt n if Suser 8 eg config stdshell print lt option selected gt config stdshell lt option gt Nn print lt option gt bin false lt optio
119. tzer Dabei gliedert sich diese Seite in 3 Teile 1 R ckmeldung der Benutzermodifizierung Hier wird der Status der Benutzermodifizierung mit eventuellen Fehlermeldungen ausgegeben Dieser Teil wird nur angezeigt wenn die Benutzerdaten modifiziert wurden 2 Benutzer Details f r ausgew hlten Benutzer Neben dem Account und realen Namen werden die wohl wichtigsten Daten zum Be nutzer angezeigt Das ist der Pfad zum Heimatverzeichnis die zugewiesende Shell die UID sowie die prim re Gruppe und die Mitgliedschaften in sekund ren Gruppen Bei der prim ren und den sekund ren Gruppen wird in Klammern die Gruppen Identifikationsnummer GID mit ausgegeben 3 Benutzer Daten ndern f r ausgew hlten Benutzer Im dritten Teil haben Sie die M glichkeit einige der Benutzer Einstellungen zu ver ndern Dabei habe ich mich auf die wichtigsten Einstellungen beschr nkt die wahr scheinlich im Schulalltag verwendet werden Dazu geh ren die Pa wort nderung und die Zuweisung zu sekund ren Gruppen Sind weitergehende Einstellungs nde rungen notwendig die in diesem WebMin Modul noch nicht implementiert sind bit te ich Sie das Modul Benutzer und Gruppen welches mit WebMin mitgeliefert wird zu verwenden Die Unterst tzung von Quota ist auch noch nicht implementiert hier ist das Modul Festplatten Quota zu verwenden Alle Werte des Formulars sind standardm ig auf die aktuellen Benutzerwerte bzw auf keine nderung g
120. utzerverwaltung auf einem Linux Server Projektdokumentation seite 10 Kriterium Mu M Wunsch W Implementiert Benutzerverwaltung M ja Gruppenverwaltung M ja automatische Account Anlegung M ja Samba Accounts verwalten M ja Apple Macintosh Dateien verarbeiten M ja Windows Dateien verarbeiten W ja DOS Dateien verarbeiten ja Netzwerkf higkeit WebMin Modul M ja Konfigurierbarkeit Anpassungsf higkeit W ja Einsatz auf anderen Linux Distributionen W nein als SuSE Linux Tabelle 2 Soll Ist Vergleich der Zielbestimmung siehe Kapitel 7 Anlage 1 Projektphase Soll Zeit Ist Zeit Kundengespr ch 0 5 Std Problemanalyse 1 0 Std Anwendungsentwurf 3 0 Std Kundengespr ch 0 5 Std Entwicklung der Oberfl che mit Benutzerverwaltung 10 0 Std Entwicklung des Scripts zur automatisierten Account Anlegung 4 0 Std Funktions und Leistungspr fung 2 0 Std Installation und Testlauf 0 5 Std Einweisung der EDV Lehrer 0 5 Std Projekt Benutzer und System Dokumentation 13 0 Std Gesamt 35 0 Std 35 0 Std Tabelle 3 Soll Ist Vergleich der Zeitplanung 5 Ausblicke Die Rechte an dem entwickelten WebMin Modul bleiben vollst ndig beim Entwickler so da sp tere Weiterentwicklungen m glich sind Dabei wird das Modul unter die GPL Lizenz und im Internet der ffentlichkeit zur Verf gung gestellt Zus tzlich wird das WebMin Modul in den von Herrn Lothar Dornieden f r die Schulen des Kreis Coesfeld entwickelten Kommunikat
121. zer Gruppenmanager generieren Pr fung der Konfigurationseinstellungen Aufgerufen von WebMin Men user cgi group cgi userauto cgi Konfigurations variablen homedir_schueler Pfad zu Sch lerheimatverzeichnissen homedir_lehrer Pfad zu Lehrerheimatverzeichnissen groupdir Pfad zu Gruppenverzeichnissen skelshell Pfad zu Profildateien mit Shell skelnoshell Pfad zu Profildateien ohne Shell homedir_perms Zugriffsrechte eines neuen Heimatve N groupdir_perms Zugriffsrechte eines neuen Gruppenv N N userrow Sbaltenanzahl der Benutzerlisten grouprow Sbaltenanzahl der Gruppenlisten zb hb zk zk stdshell Geschrieben von Tobias Brinkert letzte nderung 20 02 2001 HH BHHHRF Pfad Dateiname zur Standardshell EEE 0 0 2 EEFEF Verwendete Variablen local my Sfehler sprogfehler 0 my programms chown mkdir groupadd groupdel groupmod useradd userdel usermod smbpasswd recode cp Z hlvariable f r Konfigurationsfehler Z hlvariable f r Programmfindefehler Liste der verwendeten Systemprogramme Linkliste f r Icon Leiste my links user cgi group cgi userauto cgi my icons images user gif Iconnamen f r Icon Leiste Jimages group gif images userauto gif E my titles Titel f r Icon Leiste index cgi index cgi Seite 2 3 HH HH HH BHHrHHH HH
122. zrad_smb value yes checked gt amp nbsp text user13 lt br gt n print lt input type radio name rad_smb value no gt amp nbsp S text user14 lt br gt n print lt td gt n print lt td gt lt b gt hlink Stext user15 user 8 lt b gt lt td gt n print lt lt EOP lt td gt lt input type radio name rad_skel value yes checked gt amp nbsp Stext userl 3 lt br gt lt input type radio name rad_skel value no gt amp nbsp Stext userl14 lt td gt lt tr gt lt table gt lt br gt lt table border 0 cellspacing 0 cellpadding 5 gt user cgi user cgi Seite 3 5 lt tr gt lt td gt amp nbsp lt input type submit value text submitul gt amp nbsp lt td gt lt td gt amp nbsp lt input type reset value text reset gt amp nbsp lt td gt lt tr gt lt table gt lt form gt lt hr gt EOP Formular und Tabellenende EHRE HH EEFEF HERR EEFEF Beginn Formular Aufrufscript userdel cgi Method post Felder chk_ Benutzername chks_ Systembenutzername rad_homedel Heimatverzeichnisse l schen Aufrufscript usermod cgi per Link Methode get Felder user Benutzername print lt form action userdel cgi method post gt n print lt h3 gt textluserl lt h3 gt n HERR HH EEFEF Ausgabe der Benutzer Tabelle print lt table border width 100 gt n print lt tr tb align center gt n for 1 Sconfig userrow print lt td gt lt b gt

Download Pdf Manuals

image

Related Search

Related Contents

Télécharger ce numéro  LMO-PBAU2S…V…−†[…Y P1  Samsung M1777N User Manual  バス乾燥・暖房・換気システム V  Frigidaire FPBM3077RF Product Specifications Sheet  「らくらくシール解説書」  Manual de Operações Detector Infravermelho de Gás de Ponto  

Copyright © All rights reserved.
Failed to retrieve file