|
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.
|
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.
|
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)
|
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.
|
|