claim.gif
Linux Magazin Linux User Easy Linux International Linux Community
Erschienen in EasyLinux 04/2005   »   Ausgabe bestellen

Linux als Multiuser-System

Einer für alle, alle für einen

von Heike Jurzik


Linux bietet als Multiuser-System viele Vorteile: So können beispielsweise mehrere Benutzer gleichzeitig auf einem Rechner arbeiten. Die Sicherheit ist zudem wesentlich höher als bei Ein-Benutzer-Systemen, da man Zugriffsrechte einschränken und kontrollieren kann.

Bereits alte Unix-Rechner waren als Multiuser-Systeme konzipiert, um es mehreren Benutzern zu ermöglichen, gleichzeitig auf den recht teuren Systemen zu arbeiten. Mehrere Terminals wurden an den großen Rechner angeschlossen, die Anwender meldeten sich mit ihrem Benutzernamen und Passwort an und hatten eigene Arbeitsbereiche -- etwas, das sich bis heute nicht geändert hat und auch unter Linux möglich ist.

Damit dieses gleichzeitige Arbeiten klappt, muss das System so genanntes Multitasking unterstützten, also mehrere Prozesse (englisch "tasks") und damit auch Programme gleichzeitig ausführen können. Dabei wird auf Rechnern mit nur einer CPU jedem Prozess ein kleiner Teil der CPU-Zeit zugewiesen, so dass der Eindruck entsteht, dass alle Prozesse gleichzeitig ablaufen. "Multiuser" bedeutet also, dass mehrere Benutzer zur selben Zeit auf dem Computer arbeiten und die Multitasking-Fähigkeiten des Systems nutzen können.

Ein weiterer Vorteil von Multiuser-Systemen ist die Sicherheit: Durch das Setzen von Zugriffsrechten schottet man nicht nur die verschiedenen Accounts voneinander ab, sondern vermeidet auch Administrationsfehler durch die Trennung von Root- und Benutzerkonten.

Jedem das Seine

Linux trennt die einzelnen Accounts und deren Dateien und Verzeichnisse sauber voneinander: Ein ausgefeiltes Rechtesystem erlaubt eine gezielte Zugriffskontrolle. Grundsätzlich gilt: Root darf alles -- dieser Account sollte daher nicht zum täglichen Arbeiten, sondern ausschließlich für die Systemadministration benutzt werden. Ein "normaler" Benutzer hat lediglich Schreibrechte auf seine eigenen Dateien; das verringert die Gefahr, dass er systemweite Daten oder Dateien anderer Anwender aus Versehen löscht.

Das eigene Zuhause ist das Unterverzeichnis in /home, das den Namen des Benutzers trägt. Hier ist Platz für persönliche Dateien, Briefe, Bilder und natürlich Programm-Konfigurationsdateien, damit jeder seine eigene Arbeitsumgebung individuell gestalten kann. Die Rechte auf andere Verzeichnisse sind oft sehr eingeschränkt -- es reicht ja, Programme ausführen zu können.

Wer bin ich?

Jeder Benutzer ist unter Linux eindeutig über eine Nummer, die UID ("User identification") identifizierbar. Zusätzlich ist der Benutzer Mitglied in einer oder mehreren Benutzergruppen. Auch Gruppen werden über Nummern verwaltet, dort heißen sie GID ("Group identification"). Die grafischen Benutzer- und Gruppenverwaltungs-Tools Ihrer Distribution helfen beim Anlegen neuer Accounts und der Zuordnung zu den Gruppen, indem sie diese UIDs und GIDs richtig setzen und so Konflikte, wie etwa die doppelte Vergabe einer ID, vermeiden (Abbildung 1).

Abb. 1: Suses YaST hilft beim Anlegen von Benutzern und Gruppen.

Der Vorteil dieses ausgefeilten Konzeptes ist: Die Rechte zum Lesen, Schreiben und Ausführen von Dateien können sehr genau an den Benutzer (Eigentümer), an Benutzer einer bestimmten Gruppe oder an alle anderen auf dem System verteilt werden. Greift jemand auf eine Datei zu, prüft Linux zunächst, ob derjenige Eigentümer ist und die nötigen Rechte hat. Wenn der Benutzer nicht der Eigentümer ist, schaut das System nach, ob er in einer Gruppe der Datei Mitglied ist und die Zugriffsrechte passend gesetzt sind. Schließlich betrachtet Linux noch die Zugriffsrechte für alle anderen auf dem System und gewährt Zugriff, wenn der Eigentümer so freigiebig war. Der Benutzer root (mit der UID 0) darf natürlich alles.

Was darf ich?

Um zu überprüfen, welche Zugriffsrechte eine Datei hat, verwendet man das Kommando ls mit dem Parameter -l auf der Kommandozeile:

$ ls -l huhn.sh
-rwxr-xr--  1 huhn  users  298118 Feb 10 12:38 huhn.sh

Hier finden Sie alle Informationen auf einen Blick: Die Datei gehört dem Benutzer huhn und der Gruppe users. Die Rechte stehen ganz links. Die ersten drei Zeichen gelten für den Eigentümer: Er darf lesen (r, read), schreiben (w, write) und ausführen (x, eXecute). Mitglieder der Gruppe users dürfen lesen (r) und ausführen (x) aber nicht schreiben (dafür steht das Minuszeichen an der w-Position in zweiten Dreierblock), und alle anderen dürfen die Datei nur lesen (r--).

Wem das zu kompliziert ist, der kann natürlich auch mit Datei-Managern wie KDEs Konqueror diese Informationen betrachten: Klicken Sie dazu beispielsweise mit der rechten Maustaste auf die Datei und wählen Sie aus dem Kontextmenü Eigenschaften. Auf dem ersten Reiter stehen allgemeine Informationen zur Datei; auf dem zweiten Reiter Berechtigungen finden Sie mehr Angaben zum Benutzer und zur Gruppe. Per Klick auf die Schaltfläche Erweiterte Berechtigungen öffnen Sie einen Dialog, in dem Sie die Lese-, Schreib- und Ausführrechte durch Klick in die Checkboxen verändern können (Abbildung 2).

Abb. 2: Mit dem Datei-Manager Konqueror verwalten Sie komfortabel Zugriffsrechte für Ihre Dateien.

Woanders arbeiten

Wie eingangs erwähnt, ist ein ganz entscheidender Vorteil des Multiuser-Konzepts, dass mehrere Personen gleichzeitig an einem Rechner arbeiten können. So können Sie sich beispielsweise auf einem leistungsstarken Rechner einloggen und rechenintensive Programme dort starten, wenn das eigene System zu schwach auf der Brust ist. Voraussetzungen sind natürlich Erreichbarkeit über das Netzwerk und ein Benutzer-Account auf dem anderen Rechner.

Wer sich ganz einfach mit Hilfe von SSH [1] auf einem entfernten Rechner anmeldet, kann dort bequem auf der Kommandozeile arbeiten. Wollen Sie auf die grafischen Programme nicht verzichten, setzen Sie SSH zusammen mit dem so genannten X-Forwarding [2] ein -- dafür benötigen Sie natürlich eine ausreichend schnelle Verbindung, da große Datenmengen übertragen werden. Mit Hilfe von Virtual Network Computing (VNC, [3]) steuern Sie einen ganzen Desktop von einem entfernten Rechner aus (Abbildung 3).

Abb. 3: Mit Hilfe von VNC steuern Sie einen Linux-Desktop sogar von einem Mac aus fern.

Pflicht oder Kür?

Was für einen Privatanwender zunächst wenig Vorteile zu bringen scheint, ist doch ein altbewährtes Konzept mit einer guten Strategie: Nicht nur für FTP- oder Web-Server bietet es Vorteile, wenn viele Benutzer gleichzeitig einen Rechner benutzen können, sondern auch im privaten Netzwerk ist es durchaus sinnvoll, sich die Features von Multiuser-Systemen zunutze zu machen und z. B. die MP3-Sammlung auf dem Rechner abzuspielen, der an die Stereo-Anlage angeschlossen ist.

Viel wichtiger: Wenn es um das Thema Sicherheit geht, können sich Benutzer von Multiuser-Systemen zurücklehnen -- wer diszipliniert als "normaler" Benutzer und nicht als Systemverwalter Root arbeitet, verhindert unbeabsichtigtes Löschen von Daten oder gar die Zerstörung des ganzen Systems. (hge)

Infos

[1] SSH-Artikel: Elisabeth Bauer, "Remote Control", EasyLinux 11/2003, S. 72 ff., http://www.easylinux.de/2003/11/072-guru-ssh/
[2] Artikel zur X-Weiterleitung: Hans-Georg Eßer, "Fenster in der Ferne", EasyLinux 11/2004, S. 53 ff.
[3] VNC-Artikel: Heike Jurzik, "Fernsteuerung", EasyLinux 11/2004, S. 48 ff., http://www.easylinux.de/2004/11/048-vnc

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2010 Linux New Media AG | Last modified: 2007-04-05 11:10

[Linux-Magazin] [LinuxUser] [Linux-Community] [Linux Events] [Linux Magazine] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]