Linux - Verwaltung der Benutzer

Erster Schritt des Administrators

Wenn diverse Personen Zugang zu einem System haben, ist es notwendig dass der Systemadministrator die Benutzer verwaltet. Dafür müssen die gebräuchlichen Befehle und die zu konfigurierenden Dateien bekannt sein.

Die Dateien, die es wichtig ist zu kennen, sind :

  • die Datei /etc/passwd
  • die Datei /etc/group

die Datei /etc/passwd

Die Datei /etc/passwd enthält alle benutzerbezogenen Informationen (login, Passwörter, ...). Nur der Superuser (root) darf diese ändern können. Die Rechte dieser Datei müssen demnach geändert werden, so dass sie für alle anderen Benutzer als Nur-lese-Datei erscheint.

Diese Datei hat ein Spezialformat mit dem jeder Benutzer erkannt werden kann, jede ihrer Zeilen hat das folgende Format:

Kontoname : Passwort : Benutzernummer : Gruppennummer
: Kommentar : Verzeichnis : Startprogramm
Sieben Felder sind belegt und voneinader getrennt durch das Zeichen ":" :
  • der Kontoname des Benutzers
  • das Passwort des Benutzers (codiert natürlich)
  • die ganze Zahl die den Benutzer für das Betriebssystem identifiziert (UID=User ID, Indentifizierungsnummer Benutzer)
  • die ganze Zahl die die Gruppe des Benutzers identifiziert (GID=Group ID, Gruppennummer)
  • der Kommentar in dem man Informationen über den Benutzer, oder einfach seinen echten Namen finden kann
  • das Konnexionsverzeichnis in dem er sich befindet, nachdem er sich in das System eingeloggt hat
  • der Befehl ist der der nach dem einloggen ins System ausgeführt wird (es handelt sich häufig um einen Kommandointerpreter)

Hier ein Datei-Beispiel passwd :

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
news:x:9:13:News system:/etc/news:/bin/bash
uucp:x:10:14::/var/lib/uucp/taylor_config:/bin/bash
cquoi:x:500:100:Cool......:/home/cquoi:/bin/bash

Es ist wichtig zu wissen, dass die Passwörter die sich in dieser Datei befinden verschlüsselt sind. Es ist also unnütz es zu editieren und das Feld Passwort zu ersetzen, indem direkt das Passwort eingegeben wird, dies würde nur zur Blockierung des Kontos führen.

Wenn sich ein Benutzer einloggt, vergleicht das Programm login das durch den Benutzer eingegebene Passwort (nachdem es verschlüsselt worden ist) mit dem das sich in der Datei passwd befindet. Sind sie verschieden, kann die Verbindung nicht hergestellt werden.

Um die Benutzung zu verbieten, reicht es das verschlüsselte Passwort durch ein Sternchen zu ersetzen : "*".

Der Zugang zu einem Konto kann eventuel offen gelassen werden, indem das Feld Passwort leer gelassen wird. Dann kann sich jederman mit diesem Konto einloggen.
Um das Passwort eines Kontos mit dem Befehl passwd, zu ändern, muss man entweder Systemadministrator oder Kontoinhaber sein (das System bittet dann den Benutzer sein altes Passwort einzugeben, bevor das neue zwei mal eingetippt werden kann).

UID : Identifikationsnummer (einzig) von jedem Benutzerkonto. Die Nummern 0 bis 99 sind häufig für maschineneigene Konten reserviert. Die Werte über 100 sind für die Benutzerkonten reserviert.

GID : Gruppenidentifikationsnummer. Die Standardgruppenvorgabe (genannt group) trägt die Nummer 50. Diese Identifikationsnummer wird in Verbindung mit dem Zugriffsrecht auf Dateien verwendet. Diese Frage ist für Sie nur interessant, wenn Ihr System mehr als nur eine Benutzergruppe hat. (dann sollte man sich um die Datei /etc/groupkümmern.

Man kann ab Shell den Befehlsinterpreter ändern. Dafür muss der Befehl chsh oder auch passwd -sbenutzt werden. Linux sucht dann in der Datei /etc/shells das von Ihnen angegebene Programm. Nur die in dieser Datei vorkommenden Befehle werden akzeptiert und ersetzen den aktuellen Wert des Feldes Startprogramm. Diese Einschränkungen gelten nicht für das Konto des Superusers.
Stellen Sie sicher dass die Zugriffsrechte der Datei /etc/shells die gleichen sind wie für die Datei /etc/passwd
Der Superuser muss nicht unbedingt rootheißen. Um den Namen zu ändern, reicht es den Kontonamen root durch den gewünschten Namen auszuwechseln.
Ein priviligiertes Konto ist ein Konto dessen Identifizierungsnummer (UID, User ID) gleich Null ist.

Die Datei /etc/group

Die Datei /etc/group enthält die Liste der Benutzer die den verschiedlichen Gruppen angehören. Wenn viele Benutzer Zugang zum System haben, werden sie häufig in Gruppen aufgeteilt, die jede ihre eigenen Zugriffsrechte auf Dateien und Verzeichnisse haben.

Sie besteht aus verschiedenen Feldern, getrennt durch ":" :

Gruppenname : Sonderfeld : Gruppennummer : Mitglied1, Mitglied2

Das Sonderfeld ist häufig leer.
Die Gruppennummer ist die Nummer die die Verbindung herstellt zwischen den Dateien /etc/group et /etc/passwd

Hie ein Datei-Beispiel /etc/group :

root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
tty:x:5:
disk:x:6:
lp:x:7:
wwwadmin:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:cyrus
news:x:13:news
  • Verwendet man den Befehl ls mit der Option -l, wird die Gruppennummer angezeigt, mit der Nummer des Benutzers dem die Datei (oder das Verzeichnis) gehört. Diese einzelne Nummer entspricht einem einzelnen Gruppennamen (meist max. 8 Zeichen).
  • Der gleiche Benutzer kann in mehreren Gruppen erscheinen. Wenn er sich ins System einloggt, gehört er der Gruppe an, die in der Datei /etc/passwd (Feld GID) angegeben ist. Er kann mit folgendem Befehl die Gruppe wechseln newgrp. Die Zugriffsrechte auf Dateien sind so definiert.
  • Der Dateischutz soll verhindern dass die Datei durch nicht privilegierte Benutzer geänder wird.
  • Um eine Gruppe hinzuzufügen, kann der Administrator die Datei /etc/group mit Hilfe eines Texteditors ändern. Er kann ebenfalls den Befehl addgroup oder groupadd (nicht immer vorhanden) verwenden. Im ersten Fall muss er nur die Zeile(n) anfügen, die den Gruppen entsprechen. Z.B. die Zeile :
    admin : : 56 : ccm
  • Um einen Benutzer in eine Gruppe einzufügen, reicht es die Datei /etc/group zu editieren und den Namen am Ende der Zeile einzufügen, wobei die Mitgliedernamen voneinander durch ein Komma getrennt werden.
  • Um eine Gruppe zu löschen, reicht es die Datei /etc/group zu editieren und die entsprechende Zeile zu löschen. Vorsicht allerding, man darf nicht vergessen in der Datei /etc/passwd die Nummern (GID) der gelöschten Gruppe zu ändern, wenn Benutzer ihr angehörten. Es ist ebenfalls wichtig die Dateien und Verzeichnisse dieser Gruppe zu suchen, um sie zu ändern (andernfalls besteht das Risiko, dass Dateien und Verzeichnisse unzugänglich werden).

Die persönliche Gestaltung von Shell

Die Datei /etc/profile ermöglicht es, Shell zu konfigurieren. Sie betrifft alle Benutzer.

Man findet dort zuerst die Shell-Variablen wie OPENWINHOME, PATH, ...
Der Typ des Datenendgerätes und die Variable TERM sind dementsprechend definiert.
Ein Teil ist dem Prompt des Shells gewidmet, und ein letzter Teil ermöglicht die Definierung der Befehlsfarben ls.

Beim Starten von Linux, ist es angenehm den Ziffernblock eingeschaltet zu haben, was in Standardvorgabe nicht der Fall ist.
Es gibt also ein paar Zeilen, die der Datei /etc/profile hinzuzufügen sind, und zwar:

INITTY=/dev/tty[1-7]
for tty in $INITTY;
do setleds -D +num < $tty
done


Bei der Verbindung mit Shell, ist das erste was erscheint, der Prompt , welcher nach Wunsch des Benutzers konfiguriert werden kann.
Wenn der Administrator einen Prompt haben möchte derGuten Tag#", heißt, reicht es, die Datei /etc/profilezu editieren. Sie enthält ein Variable, genannt PS1. Allen Zeilen die diese Variable betreffen, muss ein Diesis: #vorangehen. Man muss also eine Zeile hinzufügen PS1='Guten Tag#'.

Jetzt muss man nur noch speichern und neu einloggen, dann kann man einige Veränderungen beobachten.
Tipp: für eine verbesserte Lesbarkeit, lassen Sie eine leere Stelle nache dem Prompt.

Es ist ebenfalls möglich Variablen im Prompt zu verwenden (um z.B. die Uhrzeit oder den Namen der Maschine anzuzeigen...) :

\d um das Datum einzufügen (englisches Format
\t um die Uhrzeit einzufügen (HH:MM:SS)
\u um den Benutzernamen zuzufügen
\r für einen Zeilenumbruch
\w um den kompletten Pfad des Arbeitsverzeichnis einzufügen
\W um das Arbeitsverzeichnis zuzufügen
\h um den Namen der Maschine zuzufügen

Die Farbe kann ebenfalls gewechselt werden. Dafür muss die Variable PS1 wie folgt, benutzt werden:

PS1='\[\033[num_couleurm]prompt_voulu\033[0m]'

Die Nummer der Farbe wird folgender Liste entnommen :

Schwarz 0;30
Rot 0;31
Grün 0;32
Braun 0;33
Blau 0;34
Violett 0;35
Cyan 0;36
Hellgrau 0;37
Grau 1;30
Rosa 1;31
Hellgrün 1;32
Hellbraun 1;33
Hellblau 1;34
Hellviolett 1;35
Hell-Cyan 1;36
Weiß 1;37

Hier ein Beispiel, in welchem die Uhrzeit angegeben wird, gefolgt von dem Benutzernamen in Rot :

PS1='\t \[\033[0;31m]\u\033[0m]'
Letzte Änderung am Mittwoch April 1, 2009 02:16:21 von Jeff
Das Dokument mit dem Titel « Linux - Verwaltung der Benutzer » aus Kioskea.net (de.kioskea.net) wird zur Verfügung gestellt unter den Bedingungen der Creative Commons Lizenz. Sie dürfen das Dokument verwenden, verändern sowie Vervielfältigungen dieser Seite erstellen, unter den Bedingungen, die in der vorgenannten Lizenz erwähnt sind und unter der gleichzeitigen Bedingung, dass Sie im Rahmen Ihrer Verwendung, Veränderung oder Vervielfältigung nach außen hin klar und deutlich auf den Urheber (= de.kioskea.net) des Dokuments hinweisen.
Kommandos
Tipps