AA_index_punchpunch_sxc_21034.jpg

© Punchpunch, sxc.hu

Zentrales Register

Benutzer und Gruppen auf der Befehlszeile verwalten

23.09.2011
,
Lernen Sie Dateien und Befehle kennen, mit deren Hilfe Sie Benutzer- und Gruppen-Konten hinzufügen, verändern und entfernen.

In der IT-Steinzeit, als ein Computer noch etliche Quadratmeter in Anspruch nahm, kam es so gut wie nie vor, dass mehrere Personen denselben Rechner gleichzeitig nutzten. Mit zunehmender Leistung der Rechner gewann das Konzept des "Time Sharing" an Bedeutung: Die Anwender gaben die Programme ("Jobs") ein und starten diese. Der Programmierer erhielt die Ergebnisse des Jobs und startete danach den nächsten Auftrag – eine mühselige Angelegenheit.

In den 70er Jahren löste Multitasking das Time-Sharing-Konzept ab: Nun konnten mehrere Programme zur gleichen Zeit aktiv sein. Dies führte zum Konzept des Benutzerkontos: Das System bot die Möglichkeit, dass sich eine großen Anzahl von Anwendern gleichzeitig anmelden durfte, wobei alle Zugriff auf eine individuelle Arbeitsumgebung erhielten.

Linux und andere Unix-basierte Systeme nutzen das Konzept des Benutzerkontos, um Identitäten zu verwalten. Außerdem beschränken sie auf diese Weise den Zugriff auf Ressourcen, die mit dem betreffenden Account oder mit den Gruppen, zu denen er gehört, verknüpft sind.

Zur Charakteristika des Benutzerkontos zählt die Eingabeaufforderung beim Anmelden. Der Systemadministrator hat unter Linux zudem die Möglichkeit, den Zugang zu den Ressourcen per Gruppen-Mitgliedschaft verwalten. Eine Gruppe fasst mehrere Benutzer zusammen, üblicherweise mit einem gemeinsamen Ziel und daher auch mit einem gemeinsamen Bedürfnis nach Zugang zu einer gemeinschaftlich genutzten Ressource.

Eine Gruppe namens Buchhaltung enthält beispielsweise alle Nutzer, die Teil der gleichnamigen Abteilung angehören und daher dieselben Zugriffsrechte auf Tabellen und andere Daten mit Finanzinformationen benötigen. Statt jedem einzelnen Nutzer Zugriffsrechte für jede einzelne Datei zuzuweisen, räumt der Administrator diese Möglichkeit der Gruppe Buchhaltung ein und ordnet dann die jeweiligen Nutzer dieser Gruppe zu.

Diese Vorgehensweise bietet sich auch für Peripheriegeräte (Drucker, Scanner) oder Dienste eines Rechners an. Damit Benutzer beispielsweise auf das optische Laufwerk (CD/DVD) am PC zugreifen können, müssen sie Mitglied der Gruppe cdrom sein (zumindest bei Debian und dessen Abkömmlingen), und der Zugriff auf Userspace-Dateisysteme (Fuse) setzt die Mitgliedschaft in der Gruppe fuse voraus. Viele Distributionen gestatten nur solchen Benutzern den Zugriff auf den Befehl sudo, die zu den Gruppen admin oder wheel gehören.

UID und GID

Für jedes Benutzerkonto legt das System je eine Zeile in den beiden Dateien /etc/passwd und /etc/shadow an. Auf diese Weise weist es jedem Benutzer eine eindeutige Kennung zu, die Benutzer-ID (UID). In ähnlicher Weise legt es für jede Gruppe eine Zeile in der Datei /etc/group an und weist ihr eine Gruppenkennung zu (GID).

Als UIDs und GIDs sind Ganzzahlen von 0 bis 232-1 zulässig. Als allgemeiner Usus gilt allerdings der Höchstwert 65535, was 216-1 entspricht. UIDs zwischen 0 und 999 reservieren die Distributoren im Allgemeinen für Systemdienste. Dem Superuser-Konto, root genannt, sollten Sie immer die UID 0 zuweisen. Weiter sollte Mitglied einer Gruppe namens root sein, der Sie den GID-Wert 0 zuordnen. Das erfüllt bestimmte Annahmen seitens des Systems, zum Beispiel in Skripten. Die IDs der normalen Benutzer fangen bei den meisten Linux-Distributionen mit der UID 1000 an.

Passwörter und Kommentare

Jeder Benutzer darf die Datei /etc/passwd öffnen und lesen. Dass Benutzer Einsicht in eine Datei mit Passwörtern haben – selbst, wenn diese verschlüsselt sind – stellt allerdings ein Sicherheitsrisiko dar. Daher befinden sich die Passwörter auf modernen Systemen in der Datei /etc/shadow, die nur der Superuser einsehen darf.

Doppelpunkte gliedern jede Zeile in /etc/passwd in Abschnitte (Abbildung 1), wobei das erste Feld den Benutzernamen enthält, der den Konto-Inhaber gegenüber dem System identifiziert. Das zweite Feld zeigt an, ob ein Benutzer sich am System anmelden darf. Der Eintrag x erlaubt dies, ein Asterisk (*) verwehrt die Anmeldung.

Abbildung 1: Oben ein Beispiel für einen Eintrag in der Datei /etc/passwd, unten eines für einen Eintrag in der Datei /etc/shadow.

Das dritte und vierte Feld enthalten jeweils die UID des Users beziehungsweise die GID der Gruppe, zu der er gehört. Das fünfte Feld heißt GECOS-Feld – die Abkürzung steht für "General Electric Comprehensive Operating System". Früher standen in diesem Feld Sicherheitskennungen, heute speichern die Distributionen an dieser Stelle zusätzliche Informationen über den Benutzer, getrennt durch Kommata. Obwohl das Feld meist nur den Namen des Benutzers enthält, lautet das vollständige Format:

<I>Voller Name, Gebäude/<I>Raumnummer<I>, Telefon dienstlich, weitere Telefonnummer<I>

Das sechste Feld der Datei legt das Home-Verzeichnis des Benutzers fest. Existiert das genannte Verzeichnis nicht, verwendet das System beim Einloggen des Benutzers das Wurzelverzeichnis / als aktuelles Verzeichnis.

Das letzte Feld der Datei /etc/passwd bezeichnet die Shell des Benutzers. Meldet sich dieser in einem Terminal an, braucht er einen Kommandozeileninterpreter, der mit ihm interagiert und Befehle entgegen nimmt. Das Feld legt diesen Interpreter fest, unter Linux in der Regel die Bash.

Überprüfen Sie die Datei /etc/passwd auf Ihrem eigenen Rechner, dann stellen Sie eventuell fest, dass bei mehreren Konten als Shell /sbin/nologin steht. Das verhindert, dass diese Konten Zugang zu einer Shell erhalten – für den Fall, dass Dritter die Systemprozesse, die sie verwalten, manipuliert haben. Diese Methode eignet sich auch für Konten, die zum Beispiel nur für das Verteilen von Mails gedacht sind.

Wie in der Datei /etc/passwd trennen auch in /etc/shadow Doppelpunkte die einzelnen Felder, für jedes Konto existiert eine eigene Zeile (Abbildung 1, unten). Das erste Feld enthält den Benutzernamen des Kontos, das zweite Feld das verschlüsselte Passwort. Die Verschlüsselungsmethode hängt von der Distribution ab. Ursprünglich kam ein Verfahren namens Crypt zum Einsatz, später löste das MD5-Hashing das Crypt-Verfahren ab.

Die Felder drei bis sechs steuern den Zeitraum der Gültigkeit des Passworts. Aus Sicherheitsgründen empfiehlt es sich, das Passwort regelmäßig zu ändern. Dazu legen Sie für jedes Passwort fest, wie viele Tage maximal vergehen dürfen, bis das System ein neues anfordert.

Um zu verhindern, dass Benutzer einfach im Schnellverfahren mehrere Passwörter durchlaufen, bis sie wieder beim ursprünglichen angelangt sind, schreiben viele Sicherheitsrichtlinien zusätzlich eine Mindestdauer für die Gültigkeit eines Passworts vor. Die Felder in /etc/shadow ermöglichen es, Regeln für das Altern von Passwörtern aufzustellen. Die Bedingungen zum Ändern von Passwörtern gelten nur für Benutzer; der Superuser darf Passwörter ohne Einschränkungen ändern.

Das dritte Feld der Datei /etc/shadow enthält das Passwort-Alter. Es zeigt die Anzahl der Tage, die seit dem Beginn der Unix-Zeit am 1. Januar 1970 vergangen sind. Verwenden Sie das Date-Kommando, um diese Zahl in ein Datum umzuwandeln (Listing 1).

Listing 1

$ grep msimmons /etc/shadow
msimmons:$1$UVHO7Lj9$SguVZlNtWWoCoi7m2uSe/1:14556:0:99999:7:::
$ date -d "Jan 1 1970 + 14556 days"
Sun Nov  8 00:00:00 EST 2009

Daraus ergibt sich, dass das Passwort für den Benutzer msimmons am 8. November 2009 festgelegt wurde. Der Rest der datumsspezifischen Felder in dieser Datei beziehen sich auf diese Zahl.

Das vierte Feld besagt, wie viele Tage mindestens vergehen müssen, bevor der Benutzer das Passwort ändert darf. Im Beispiel steht dieser Wert auf 0, das heißt, es gibt keinen Mindestwert: Der Benutzer darf das Passwort jederzeit ändern.

Das fünfte Feld bezeichnet die maximale Anzahl der Tage, die zwischen zwei Änderungen des Passworts vergehen dürfen. Da es keine Möglichkeit gibt, einen unbegrenzten Zeitraum festzulegen, stellen viele Distributionen an dieser Stelle mit 99999 eine Zeitspanne von 274 Jahren ein.

Das sechste Feld legt fest, wie viele Tage vor Ablauf des Passworts das System einen Warnhinweis an den Benutzer einblendet. In Beispiel erhielte der Benutzer sieben Tage, bevor das Passwort abläuft, beim Anmelden einen entsprechenden Hinweis und die Gelegenheit, es zu ändern.

Das siebte Feld legt fest, wie viele Tage nach Ablauf des Passwortes das System das Konto abschaltet. Für ein deaktiviertes Konto zeigt das achte Feld an, seit wann der Account bereits abgeschaltet ist (Anzahl der Tage seit Beginn der Unix-Zeit). Das letzte Feld bleibt für künftige Anwendungen reserviert.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • useradd, usermod, userdel
    Viele Wege führen zu einem neuen Benutzer-Account auf Ihrem Linux-Rechner – entweder editieren Sie alle Konfigurationsdateien von Hand oder benutzen ein grafisches Tool der eigenen Distribution (YaST, userdrake oder redhat-config-users). In dieser Zu-Befehl-Folge begeben wir uns auf die Admin-Seite des Linux-Lebens und zeigen Hintergründe, Tricks und Werkzeuge der Benutzerverwaltung auf der Kommandozeile.
  • Benutzerverwaltung
    Linux ist ein Multiuser-System: Mehrere Benutzer nutzen gleichzeitig den selben Rechner, und für verschiedene Aufgaben richtet man separate Accounts ein. Diese Zu-Befehl-Folge stellt die Kommandos für die Zugangsverwaltung vor.
  • Know-how für die Kommandozeile
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Mit Samba ein kleines Netz einrichten
    Wer zu Hause ein Netzwerk mit heterogenen Clients betreibt, wünscht sich zentrale Dienste zum einfachen Zugriff auf Dateien und Peripheriegeräte. Samba bietet in diesem Fall genau das Richtige, und zudem lässt sich die Lösung mit allen gängigen Distributionen aufsetzen.
  • Benutzer und Gruppen verwalten mit dem Benutzer-Manager
    Windows 98 ist zunächst für einen Einzelplatzrechner konzipiert, aber es ist ohne weiteres möglich, mehrere Benutzerkonten einzurichten. Linux dagegen ist grundsätzlich ein Mehrbenutzersystem, deshalb ist die Verwaltung von Benutzern anspruchsvoller und komfortabler als bei Windows.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...