12.2 Benutzer und Gruppen, der harte Weg


Natürlich ist es möglich Benutzer und Gruppen hinzuzufügen, zu verändern und zu entfernen ohne die Skripte und Programme zu nutzen, welche mit Slackware kommen. Das ist nicht wirklich schwer. Obwohl Sie nach dem Lesen dieser Vorgehensweise wahrscheinlich den Gebrauch der Skripte einfacher finden werden, ist es, für den Fall, dass Sie diese Information wiederherstellen müssen und die Slackware Tools nicht zur Verfügung haben, wichtig zu wissen wie Ihre Passwort-Informationen eigentlich gespeichert werden.

Zunächst werden wir einen neuen Benutzer zu den Dateien /etc/passwd(5), /etc/shadow(5), und /etc/group(5) hinzufügen. Die passwd-Datei enthält einige Information über die Benutzer auf Ihrem System, aber (komischerweise) nicht deren Passwörter. Dies war ursprünglich so aber wurde aus Sicherheitsgründen vor langer Zeit geändert. Die passwd-Datei muss für alle Benutzer lesbar sein aber Sie wollen die verschlüsselten Passwörter nicht für alle lesbar, denn Einbrecher können die verschlüsselten Passwörter als Startpunkt zum Entschlüsseln des Passworts eines Benutzers hernehmen. Stattdessen werden die verschlüsselten Passwörter in der shadow-Datei vorgehalten, die nur von root gelesen werden kann. Die Passwörter der Benutzer werden in der passwd-Datei einfach als "x" eingetragen. Die group-Datei listet alle Gruppen und wer sich in jeder befindet.

Sie können den Befehl vipw nutzen um die Datei /etc/passwd sicher zu bearbeiten und den Befehl vigr um die Datei /etc/group sicher zu bearbeiten. Nutzen Sie vipw -s zum sicheren Bearbeiten der Datei /etc/shadow. ("sicher" bedeutet in diese Kontext das niemand anders die Datei bearbeiten kann die Sie im Moment bearbeiten. Wenn Sie der einzige Administrator sind, dann sind sich wahrscheinlich sicher, aber es ist am besten es sich von vornherein richtig anzugewöhnen.)

Lassen Sie uns die Datei /etc/passwd begutachten und betrachten wie ein neuer Benutzer hinzugefügt wird. Ein typischer Eintrag in passwd schaut aus wie dieser:

chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash


Jede Zeile ist ein Eintrag für einen Benutzer und die Felder jeder Zeile werden von einem Doppelpunkt getrennt. Die Felder sind der Login Name, das verschlüsselte Passwort ("x" für jeden auf einem Slackware-System da Slackware shadow Passwörter nutzt), User ID, Group ID, die optionalen finger Informationen (mit Kommas getrennt), Home-Verzeichnis und Shell. Um einen Benutzer per Hand hinzuzufügen, fügen Sie eine neue Zeile am Ende der Datei ein und füllen Sie sie mit den entsprechenden Informationen.

Die Information die Sie einfügen muss einigen Bestimmungen entsprechen oder Ihr neuer Benutzer könnte Probleme beim Einloggen haben. Stellen Sie zunächst sicher das das Passwort-Feld ein x ist und das beide, der Benutzername und die User ID, einmalig sind. Weisen Sie dem Benutzer einer Gruppe zu. Entweder 100 (die Gruppe "users" in Slackware) oder Ihre Standardgruppe (verwenden Sie ihre Nummer und nicht ihren Namen). Geben Sie dem Benutzer ein gültiges Home-Verzeichnis (welches Sie später anlegen werden) und eie Shell (erinnern Sie sich daran das gültige Shells in /etc/shells gelistet sind).

Als nächstes werden wir einen Eintrag in die Datei /etc/shadow hinzufügen müssen welcher das verschlüsselte Passwort enthält. Ein typischer Eintrag sieht aus wie dieser:

chris:$1$w9bsw/N9$uwLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::


Wieder ist jede Zeile ein Eintrag für eine Person mit Feldern die durch einen Doppelpunkt getrennt sind. Die Felder sind (der Reihe nach) Login Name, verschlüsseltes Passwort, Tage seit der Epoche (1. Januar 1970) die das Passwort nicht mehr geändert wurde, Tage nach denen das Passwort geändert werden darf, Tage nach denen das Passwort geändert werden muss, Tage die der Benutzer vor dem Ablaufen des Passworts gewarnt wird, Tage nach Ablauf des Passworts ab denen der Account gesperrt wird, Tage seit der Epoche die der Account gesperrt ist und ein reserviertes Feld.

Wie Sie sehen ist das meiste davon Information über das Auslaufen des Accounts. Wenn Sie keine Ablaufinformationen nutzen, müssen Sie nur ein paar Felder mit einigen speziellen Werten füllen. Andernfalls müssten Sie einige Berechnungen durchführen und Entscheidungen treffen bevor Sie diese Felder füllen können. Für einen neuen Benutzer fügen Sie einfach zufälligen Müll in das Passwort-Feld ein. Machen Sie sich keine Gedanken darüber was das Passwort jetzt ist denn Sie werden es in einer Minute ändern. Das einzige Zeichen das Sie nicht in das Passwort-Feld einfügen können ist der Doppelpunkt. Lassen Sie das "Tage die das Passwort nicht mehr geändert wurde"-Feld auch leer. Fügen Sie 0, 99999 und 7 einfch so ein wie Sie es im Beispiel-Eintrag senen und lassen Sie alle anderen Felder leer.

(Für diejenigen unter euch, die denken das sie mein verschlüsseltes Passwort oben sehen und glauben einen Schritt weiter zu sein um in mein System einzubrechen, ihr könnte es auch sparen. Wenn Sie das Passwort knacken können wissen Sie das Passwort für ein durch Firewall geschütztes Testsystem. Nun das ist hilfreich :) )

Alle normalen Benutzer sind Mitglieder der "users" Gruppe auf einem typischen Slackware-System. Wenn Sie allerdings eine neue Gruppe erzeugen oder einen neuen Benutzer zu weiteren Gruppen hinzufügen wollen, werden Sie die Datei /etc/group bearbeiten müssen. Hier ist ein typischer Eintrag:

cvs::102:chris,logan,david,root


Die Felder sind Gruppenname, Gruppenpasswort, Group ID und Gruppenmitglieder getrennt mit Kommas. Das Erzeugen einer neuen Gruppen entspricht dem einfachen Hinzufügen einer neuen Zeile mit einer eindeutigen Gruppen ID und Auflisten all der Benutzer die Sie in der Gruppe haben wollen. Alle Benutzer die in dieser neuen Gruppe sind und eingeoggt sind werden sich ausloggen und neu einloggen müssen das die Änderungen in Kraft treten.

An diesem Punkt könnte es eine gute Idee sein die pwck und grpck Befehle zu nutzen um die Änderungen, die Sie gemacht haben, auf Konsistenz zu prüfen. Verwenden Sie zunächst pwck -r und grpck -r. Der -r Parameter führt keine Änderungen durch aber listet die Änderungen auf nach denen Sie gefragt würden wenn Sie den Befehl ohne den Parameter aufrufen würden. Sie können diese Ausgabe nutzen um zu entscheiden ob Sie die Dateien weiter anpassen müssen, pwck oder grpck ohne -r Parameter ausführen oder einfach die Änderung lassen wie sie sind.

An diese Punkt sollten Sie den passwd Befehl nutzen um ein ordnetliches Passwort für den Benutzer zu erzeugen. Dann verwenden Sie mkdir um das Home-Verzeichnis des neuen Benutzers an der Stelle anzulegen die Sie in der /etc/passwd Datei angegeben haben und verwenden Sie chown um den Besitzer des neuen Verzeichnisses auf den neuen Benutzer festzulegen.

Das Entfernen eines Benutzers bedeutet einfach das Löschen aller Einträge die für diesen Benutzer existieren. Entfernen Sie den Eintrag des Benutzers aus /etc/passwd und /etc/shadow und entfernen Sie den Login Name aus allen Gruppen in der Datei /etc/group file. Wenn Sie wollen löschen Sie das Home-Verzeichnis des Benutzers, die Mail Spool Datei und seinen crontab Eintrag (wenn diese existieren).

Gruppen entfernen ist ähnlich: Entfernen Sie den Eintrag der Gruppe aus /etc/group.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki