SelfLinux » Elementare Systemverwaltung » Benutzerverwaltung unter Linux » Teil 1 SelfLinux-0.8.0
« zurück weiter »
SelfLinux logo
OrdnerBenutzerverwaltung unter Linux Revision: 1.1.2.6
Autor: Heiko Degenhardt
Layout: Matthias Hagedorn
Lizenz: GFDL

1 Einleitung

Dieses Dokument beschreibt das Benutzerkonzept unter Linux. Es ist als Einführung gedacht. Die Benutzerverwaltung sowie alle daraus resultierenden Aufgaben werden in späteren Kapiteln behandelt.



2 Grundlagen

Zu den wichtigsten Eigenschaften von Linux zählt sicher die Fähigkeit zu echtem Multi-Tasking und zum Multi-User-Betrieb. Multi-Tasking bedeutet dabei, dass mehrere Prozesse (oder auch Tasks) parallel ablaufen, und sich somit die Ressourcen teilen. Mit Multi-User ist gemeint, dass mehrere Benutzer gleichzeitig am System arbeiten können, somit also das Multi-Tasking ausnutzen. Hierbei werden die einzelnen Benutzer, die Prozesse/Tasks, die sie starten und auch die von ihnen angelegten Dateien/Verzeichnisse vom Betriebssystem getrennt und die Zugriffe darauf kontrolliert.

In der Windows-Welt ist dieser Multi-User-Betrieb eigentlich kaum bekannt. Hier kann man zwar z.B. auch mehrere Benutzer auf dem System anlegen. Diese können aber (im Normalfall) nicht parallel am System arbeiten.



3 Vorteile von Multi-User-Systemen

Natürlich erscheint ein Multi-User-System nicht auf Anhieb von Vorteil auch für den Privatanwender zu sein. In erster Linie denkt man hierbei sicher an Server, auf die viele Kunden gleichzeitig Zugriff über Shell-Accounts, FTP, WWW oder was auch immer haben. Trotzdem bringt dieses Konzept auch für normale Anwender entscheidende Vorteile:

  • Ein solches System führt zu einer disziplinierteren Arbeit (man kann sehr genau darauf achten, unter welchem Account man welche Aufgaben erledigt).
  • Die Sicherheit ist erheblich erhöht, da die Zugriffsrechte auf Daten, Prozesse etc. je nach Benutzer und Nutzergruppe kontrolliert und eingeschränkt werden können.
    (Dies macht es z.B. möglich, dass selbst wenn sich ein Benutzer etwa einen Virus einfangen würde, dieser nur Zugriff auf die Daten des Benutzers hätte. Natürlich ist dafür das o.g. disziplinierte Arbeiten Voraussetzung)


4 Das Linux-Benutzerkonzept

Unter Linux werden alle Benutzer, die am System arbeiten können sollen, zu Benutzergruppen zusammengefasst. Alle Ressourcen können nun daraufhin freigegeben werden, welche Gruppe oder welcher Benutzer mit ihnen arbeiten können soll. Diese Rechtevergabe unterscheidet dabei nach:

  • Der sog. User-ID (uid)
    Dies ist die ID, mit der sich ein Benutzer am System anmeldet.
  • Der effektiven User-ID (euid)
    Dies ist die ID, mit der versucht wird, auf eine Resource zuzugreifen.
  • Der Group-ID (gid)
    Die Entsprechung der uid für die Gruppenzugehörigkeit.
  • Der effektiven Group-ID (egid)
    Dies entspricht der euid auf Gruppenbasis.

Für die Zugriffskontrolle überprüft das System bei jedem Zugriff auf eine Resource, unter welcher effektiven uid/guid der Zugriff erfolgt. Somit ist es z.B. möglich, unter der uid eines Benutzers zu arbeiten, aber trotzdem (temporär) auf Dateien zuzugreifen, die anderen Gruppen gehören.

Beispiel:

Beim Ändern des Passworts eines Benutzers muss das Programm passwd z.B. auf die Datei /etc/shadow zugreifen, auf die normalerweise kein Benutzer die notwendigen Rechte hat. Trotzdem kann das Programm passwd diese Dateien lesen, da es zwischenzeitlich einmal von der uid des Benutzers (der es aufruft) zur uid von root wechselt, und damit über die notwendigen Rechte verfügt. Dies ist möglich, da die auführbare Datei /usr/bin/passwd das sog. set uid-Bit gesetzt hat:
user@linux ~/temp/ $ ls -al /usr/bin/passwd
-rwsr-xr-x    1 root     root        24680 Apr  7 17:59
(dies wird durch das erste "s" angezeigt).

Für weitere Informationen hierzu sei auf info chmod und man chmod verwiesen.


« zurück weiter »
Inhalt