Linux-Arbeitskreis Hamburg

Benutzerverwaltung und Anmeldeskripten

1. Benutzerverwaltung unter Linux

Auf dem Linux-Server hat jeder eingerichtete Benutzer automatisch auch einen Mail-Account. Das dürfte der Hauptgrund dafür sein, möglichst alle Schüler und Lehrer einer Schule auch als Benutzer einzurichten.

Für jeden Benutzer wird beim Einrichten eine Zeile in die folgenden Dateien eingetragen:

/etc/passwd             gast:x:500:100:Beispielnutzer:/home/gast:/bin/passwd

In der Datei steht im ersten Feld, bis zum Doppelpunkt, der Benutzername. Im zweiten Feld steht ein x. Normalerweise müßte hier das Paßwort stehen. Unserer Systeme arbeiten aber mit einer getrennten Paßwortdatei, worauf das x hinweist. Das dritte Feld gibt die User-ID an. Normale Benutzer haben mindestens den Wert 500, da niedriger Nummern für das System reserviert sein sollten. Das vierte Feld bezeichnet die ID der Gruppe. Jeder Benutzer hat eine "natürliche" Gruppe. Das ist diejenige, die hier eingetragen wurde. Soll ein Benutzer einer (oder mehreren) weiteren Gruppe angehören, so muß er in der Datei /etc/group bei der jeweiligen Gruppe aufgeführt sein. Danach folgt dann das Home-Verzeichnis des Benutzers. Normalerweise heißt dieses Verzeichnis wie der Benutzer und liegt unterhalb von /home. Man kann sich hier auch eigene Systeme überlegen. Im letzten Feld steht die Standardshell des Benutzers, normalerweise /bin/bash. Der hier vorliegende Benutzer hat leider keine Möglichkeit sich sinnvoll an der Konsole anzumelden, da bei ihm das Programm passwd als Shell eingetragen ist. Wenn er sich an der Konsole oder per FTP anmeldet, dann kann er nur sein Paßwort ändern, mehr nicht.

Soll der Benutzer FTP benutzen dürfen, so muß /bin/passwd zumindest in der Datei /etc/shells eingetragen sein, sonst hat er nicht einmal diese Möglichkeit.

/etc/shadow   gast:BaoNiPqCePav2:10035:0:10000::::

In diese Datei sind die eigentlichen Paßwörter ausgelagert. Das erste Feld, bis zum Doppelpunkt gibt den Benutzernamen an. Das zweite Feld das verschlüsselte Paßwort. Die Paßwortverschlüsselung ist normalerweise eine Einbahnstraße. Es wird niemals entschlüsselt, deshalb kann selbst Root das Paßwort nicht ermitteln. Beim Login wird einfach das eingegebene Paßwort verschlüsselt und mit dem gespeicherten verglichen. Das dritte Feld gibt an, wie viele Tage der letzte Paßwortwechsel her ist. Längstens wird ab 1. Januar 1970 gezählt. Im vorliegenden Fall wurde das Paßwort also noch nie geändert. Das vierte Feld gibt an, nach wieviel Tagen das Paßwort frühesten geändert werden darf. Für den Gastzugang sollte hier eine relativ große Zahl stehen, damit das Paßwort nicht einfach verändert werden kann. Das fünfte Feld gibt an, nach wieviel Tagen spätestens das Paßwort geändert werden muß. Die weiteren Felder sind leer, hiermit könnte man den Ablauf des Paßwortes relativ genau regeln.

Beim Anlegen eines neuen Benutzers werden von den jeweiligen Programmen diese beiden Zeilen eingerichtet. Zusätzlich werden alle Verzeichnisse und Dateien, die sich im Ordner /etc/skel befinden in das Home-Verzeichnis des Benutzers kopiert und ihm übereignet. Damit kann man z.B. die ini-Dateien und die Verzeichnisse, die jeder Benutzer benötigt, automatisch anlegen lassen. Es sollte aus meiner Sicht dort die folgenden Ordner bzw. Dateien geben:
/etc/skel/html/ Ordner für persönliche Homepages
/etc/skel/html/index.htm Eine Dummy-Homepage
/etc/skel/netscape/ Ordner für den Netscape-Browser
/etc/skel/netscape/Mail Ordner für Netscape-Mail. Diesen Ordner richtet Netscape interessanter weise nicht selber ein, wenn er nicht existiert ist mit Netscape keine Mail möglich.
/etc//skel/netscape/netscape.ini Für die 16-Bit Version sollte eine vorkonfigurierte ini-Datei zur Verfügung stehen.
/etc/skel/profile/ Falls man unter Win95 mit Benutzerprofilen arbeitet, wird dieser Ordner benötigt.

Zusätzlich gibt es noch einige Dateien mehr, meistens Dateien deren Namen mit einem Punkt beginnen. Diese Dateien werden dann normalerweise nicht mit angezeigt. Zu erwähnen wäre hier eventuell noch die Datei /etc/skel/.profile, in der benutzerspezifische Einstellungen vorgenommen werden können. Wenn ein Benutzer nicht den voreingestellten Editor "joe" benutzen möchte, sondern lieber den "vi", dann muß er später in seiner /home/<nutzer>/.profile folgende Zeilen eintragen:

EDITOR=/usr/bin/vi
export EDITOR

Damit wird dann die Voreinstellung, die wir in der Datei /etc/profile (ja! ohne Punkt) vorgenommen haben, überschrieben.

Der Benutzername dient auch als E-Mail Adresse. Der Benutzer "debacher" hätte am Gymnasium Lohbrügge die E-Mail-Adresse debacher@gyloh.hh.schule.de.

Will ich nun auch unter u.debacher@gyloh.hh.schule.de Post bekommen, so ist das auch möglich. Es muß nur ein entsprechender Eintrag in der Datei /etc/aliases vorgenommen werden. An diese Datei muß einfach z.B folgende Zeile abgehängt werden:

u.debacher: debacher

Nach jeder Veränderung der Datei /etc/aliases muß einmal der Befehl newaliases aufgerufen werden, damit die Änderung wirksam wird.

Hinter einem Bezeichner können in der /etc/aliases mehrere, auch externe E-Mail-Adressen stehen, so daß man sogar kleine Mailinglisten aufbauen kann.

In der Datei muß es auf alle Fälle einen Eintrag postmaster geben. Nach den Nutzerbedingungen von WiNShuttle muß diese Adresse beachtet werden. Hinter Postmaster sollte also der Systemverwalter eingetragen sein.

Der Vollständigkeit halber soll hier noch erwähnt werden, das die für einen Benutzer eingegangene, aber noch nicht abgeholte Post sich in der Datei /var/spool/mail/<benutzername> befindet. Schaut man das Mailverzeichnis durch, kann man feststellen, wer seinen Mailaccount pflegt und wer nicht. Hat die jeweilige Datei eine Größe von 0 Byte, so hat der Benutzer keine Mail, ist sie größer, so liegt Mail vor.

Achtung, auch wenn es für den Systembetreuer technisch möglich ist die Post seiner Nutzer zu lesen, so ist dies rechtlich nicht zulässig.

2. Wie richtet man Benutzer ein

Die naheliegendste Art und Weise Benutzer einzurichten besteht darin, "Yast" zu starten und dann unter "Administration des Systems" den Menüpunkt "Benutzerverwaltung" aufzurufen. In das auftauchende Menü kann man dann die entsprechenden Einträge machen, wobei Yast schon viele Dinge vorgibt.

Für das Einrichten einzelner Benutzer ist dieses Verfahren sinnvoll, für das Einrichten ganzer Kurse wäre dies mit viel Aufwand verbunden.

Deshalb haben wir das Programmpaket WebTools erstellt, das die Einrichtung und Verwaltung der Benutzer von einem beliebigen Browser aus erlaubt.

3. Festlegen der Benutzerkennung

Auf vielen Systemen werden Benutzer mit ihrem Nachnamen eingetragen. Das ist im schulischen Bereich nicht praktisch, da Namen mehrfach vorkommen bzw. Namen oft auf 8 Zeichen verkürzt werden müssen, was manchmal zu unschönen Kennungen führt.

Das beschriebene Script geht einen anderen Weg. Es nimmt die Initialen des neuen Benutzers und hängt eine Zahl dahinter. Uwe Debacher könnte also ud1001 bekommen. Falls diese Kennung schon existiert wird einfach die nächste Zahl genommen, solange bis eine freie Kennung entsteht. Das gleiche Verfahren benutzt auch WiNShuttle.

Es ist aber nicht nur so, daß dieses Verfahren recht praktisch ist, es erfüllt auch die Anforderungen des Datenschutzes. In Nordrhein-Westfalen ist es nicht zulässig den Schülern ihren Namen als Kennung zu geben, hier müssen solch kryptische Kürzel benutzt werden. Auch der Hamburgische Datenschutzbeauftragte findet es nicht in Ordnung, wenn die Schüler genötigt werden ihren Klarnamen zu benutzen. Kein Problem sieht er darin, daß die Klarnamen der Benutzer vom Script in die Datei /etc/passwd eingetragen werden, da diese Daten geschützt sind. Im Zweifelsfall hat die Schule damit aber die Möglichkeit nachzuschauen, wer zu einer bestimmten E-Mail-Adresse gehört. Innerhalb der Schule sind die Benutzer also nicht anonym.

Die Kürzel bieten eine gute Gelegenheit mit den Schülern über Datenschutz zu sprechen. Speziell über den Schutz der eigenen Daten. Schüler sollten auf keinen Fall ihre eigene Adresse oder Telefonnummer per E-Mail oder News offenbaren.

Zu diesem Themenkomplex sind in der nächsten Zeit auch Handlungsanweisungen unserer Schulbehörde zu erwarten.


Kritik, Anregungen und Ergänzungen willkommen. Zusammengestellt von Uwe Debacher, letzte Änderung am 27.01.2006