Benutzerkontenverwaltung

LinuxBeginner
Jetzt üben

Einführung

Dieses Lab führt Sie durch die grundlegenden Operationen der Benutzerkontenverwaltung in Linux-Systemen. Sie lernen, wie Sie Benutzerkonten erstellen, ändern und löschen sowie Passwörter festlegen und aktualisieren. Dies sind fundamentale Fähigkeiten für die Linux-Systemadministration. Keine Sorge, falls Sie neu bei Linux sind – wir erklären jeden Schritt im Detail!

Dies ist ein geführtes Lab, das Schritt-für-Schritt-Anleitungen bietet, um Ihnen beim Lernen und Üben zu helfen. Folgen Sie den Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrung zu sammeln. Historische Daten zeigen, dass dies ein Lab für Anfänger mit einer Abschlussquote von 87% ist. Es hat eine positive Bewertungsrate von 99% von Lernenden erhalten.

Einen neuen Benutzer erstellen

Beginnen wir damit, ein neues Benutzerkonto mit dem Namen "joker" anzulegen.

  1. Öffnen Sie ein Terminal. In Linux ist das Terminal eine Textoberfläche, in der Sie Befehle eingeben können.
  2. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
sudo useradd joker

Lassen Sie uns den Befehl zerlegen:

  • sudo ist ein Befehl, der Ihnen temporär Superuser-Rechte (Administratorrechte) verleiht. Wir verwenden ihn, da das Erstellen eines neuen Benutzers diese erweiterten Berechtigungen erfordert.
  • useradd ist der eigentliche Befehl zum Erstellen eines neuen Benutzers.
  • joker ist der Benutzername, den wir erstellen.

Hinweis: Wenn Sie versuchen, diesen Befehl ohne sudo auszuführen, erhalten Sie die Fehlermeldung "permission denied". Das liegt daran, dass normale Benutzer keine Konten erstellen dürfen – diese Aufgabe ist Systemadministratoren vorbehalten.

Dies verdeutlicht den Unterschied zwischen einem Superuser und einem gewöhnlichen Benutzer. Als normaler Benutzer können Sie keine Konten erstellen, aber durch die Verwendung von sudo können Sie Ihre Rechte temporär erhöhen, um diese administrative Aufgabe auszuführen.

  1. Um zu überprüfen, ob der Benutzer erstellt wurde, untersuchen wir die Datei /etc/passwd:
sudo grep -w 'joker' /etc/passwd

Die Datei /etc/passwd fungiert wie ein Telefonbuch für Benutzerkonten. Jede Zeile repräsentiert ein Konto, wobei die verschiedenen Informationen durch Doppelpunkte (:) getrennt sind.

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

joker:x:5001:5001::/home/joker:/bin/sh

Diese Zeile zeigt:

  • Benutzername: joker
  • Passwort: x (das tatsächliche Passwort wird sicher an anderer Stelle gespeichert)
  • Benutzer-ID (UID): 5001
  • Gruppen-ID (GID): 5001
  • Heimatverzeichnis: /home/joker (dieses wurde jedoch noch nicht physisch erstellt)
  • Standard-Shell: /bin/sh

Benutzer mit Heimatverzeichnis erstellen

Erstellen wir nun einen weiteren Benutzer namens "bob" und weisen ihm direkt ein Heimatverzeichnis zu.

  1. Führen Sie den folgenden Befehl aus:
sudo useradd -m bob

Die Option -m weist das System an, automatisch ein Heimatverzeichnis für den Benutzer zu erstellen. Ein Heimatverzeichnis ist wie ein persönlicher Ordner, in dem ein Benutzer seine Dateien und Einstellungen speichern kann.

  1. Überprüfen wir, ob das Heimatverzeichnis erstellt wurde:
sudo ls -ld /home/bob

Sie sollten eine Ausgabe ähnlich dieser sehen:

drwxr-x--- 2 bob bob 57 Jan 19 13:33 /home/bob

Diese Ausgabe bedeutet:

  • Das d am Anfang steht für "directory" (Verzeichnis).
  • drwxr-x--- zeigt die Berechtigungen an (wer darf lesen, schreiben oder ausführen).
  • Die beiden Einträge bob zeigen, dass sowohl der Besitzer als auch die Gruppe des Verzeichnisses "bob" sind.
  • 57 ist die Größe des Verzeichnisses in Bytes.
  • Jan 19 13:33 ist der Zeitpunkt der Erstellung.
  • /home/bob ist der Pfad des Verzeichnisses.

Ein Benutzerpasswort festlegen

Jetzt müssen wir Passwörter für unsere neuen Benutzer festlegen. Beginnen wir mit "joker".

  1. Führen Sie den folgenden Befehl aus:
sudo passwd joker
  1. Sie werden aufgefordert, ein neues Passwort zweimal einzugeben. Verwenden Sie für dieses Lab ein einfaches Passwort wie "password123".

Wichtig: Das Passwort wird während der Eingabe nicht angezeigt. Dies ist ein Sicherheitsmerkmal in Linux, um zu verhindern, dass andere Ihr Passwort beim Tippen sehen können. Wenn Sie sich vertippen, können Sie es einfach erneut versuchen.
Wichtig: Merken Sie sich dieses Passwort! Sie benötigen es später im Lab.

  1. Bei Erfolg sehen Sie die Meldung "passwd: password updated successfully".

Hinweis: Verwenden Sie in einer echten Produktivumgebung immer starke und einzigartige Passwörter!

Im Hintergrund speichert Linux verschlüsselte Passwörter in einer besonders geschützten Datei namens /etc/shadow. Dies ist sicherer als die Speicherung in /etc/passwd, da letztere für viele Systemprozesse lesbar sein muss.

Benutzereigenschaften ändern

Linux ermöglicht es uns, verschiedene Einstellungen eines Benutzerkontos auch nach der Erstellung zu ändern. Ändern wir beispielhaft das Heimatverzeichnis von "joker".

  1. Führen Sie den folgenden Befehl aus:
sudo usermod -d /home/wayne joker

Das bewirkt Folgendes:

  • usermod ist der Befehl zum Modifizieren von Benutzerkonten.
  • -d /home/wayne legt das neue Heimatverzeichnis fest.
  • joker ist der Benutzer, den wir bearbeiten.
  1. Überprüfen wir die Änderung:
sudo grep -w 'joker' /etc/passwd

Die Option -w sorgt dafür, dass exakt nach dem ganzen Wort gesucht wird. Sie sollten in der Ausgabe sehen, dass der Pfad für das Heimatverzeichnis von "joker" aktualisiert wurde.

Die Benutzer-Shell ändern

Eine weitere wichtige Einstellung ist die Standard-Shell des Benutzers. Die Shell ist das Programm, das Ihre im Terminal eingegebenen Befehle interpretiert und ausführt.

Standardmäßig verwendet der Benutzer "joker" die Shell /bin/sh. Während sh (Bourne Shell) eine Basisshell ist, die auf fast allen Unix-ähnlichen Systemen vorhanden ist, bietet bash (Bourne Again Shell) wesentlich mehr Funktionen und ist allgemein benutzerfreundlicher.

Der Wechsel zur Bash bietet für "joker" mehrere Vorteile:

  • Intuitivere Befehlszeilen-Schnittstelle.
  • Erweiterte Scripting-Möglichkeiten.
  • Bessere Anpassungsmöglichkeiten für die Benutzerumgebung.

So führen Sie die Änderung durch:

  1. Ändern Sie die Standard-Shell für "joker" auf Bash:
sudo usermod -s /bin/bash joker
  1. Überprüfen Sie die Änderung:
sudo grep -w 'joker' /etc/passwd

Sie sollten nun /bin/bash am Ende des Eintrags für "joker" sehen. Das bedeutet, dass Bash nun die Standard-Shell ist.

Nach dieser Änderung hat "joker" bei jeder Anmeldung oder beim Öffnen einer neuen Terminalsitzung Zugriff auf die funktionsreiche Bash-Umgebung.

Einen Benutzer zu einer Gruppe hinzufügen

In Linux verwenden wir Gruppen, um Benutzer zu organisieren und Berechtigungen effizient zu verwalten. Eine besonders wichtige Gruppe ist die sudo-Gruppe, die den Mitgliedern administrative Privilegien verleiht. Fügen wir "joker" beispielhaft zur sudo-Gruppe hinzu.

Warum fügt man einen Benutzer zur Sudo-Gruppe hinzu?

  1. Systemadministration: Mitglieder können systemweite administrative Aufgaben durchführen.
  2. Softwareinstallation: Sie können Softwarepakete installieren und aktualisieren.
  3. Konfigurationsänderungen: Sie dürfen Systemkonfigurationsdateien bearbeiten.
  4. Benutzerverwaltung: Sie können andere Benutzerkonten erstellen, ändern oder löschen.

Vielleicht fragen Sie sich: "Warum jemanden zur Sudo-Gruppe hinzufügen, wenn wir einfach den 'sudo'-Befehl nutzen können?" Hier ist der Grund:

  • Komfort: Benutzer in der Sudo-Gruppe können sudo nutzen, ohne das Root-Passwort kennen zu müssen. Sie verwenden stattdessen ihr eigenes Passwort.
  • Granulare Kontrolle: Administratoren können sudo so konfigurieren, dass bestimmte Benutzer nur ganz bestimmte Befehle mit Root-Rechten ausführen dürfen.
  • Rechenschaftspflicht: Im Gegensatz zum Teilen des Root-Passworts protokolliert sudo, wer welchen Befehl ausgeführt hat, was die Sicherheit und Rückverfolgbarkeit verbessert.
  • Sicherheit: Es ist generell sicherer, namentlich bekannte Konten mit Sudo-Zugriff zu haben, als das Root-Passwort unter mehreren Admins zu teilen.

In der Praxis würden Sie einen Benutzer typischerweise zur Sudo-Gruppe hinzufügen, wenn:

  • Es sich um einen Systemadministrator oder IT-Mitarbeiter handelt, der regelmäßige Wartungsaufgaben erledigt.
  • Es ein Entwickler ist, der für seine Arbeit spezifische Software installieren oder Systemeinstellungen anpassen muss.
  • Es ein Power-User ist, der für bestimmte Aufgaben erhöhte Rechte benötigt, dem Sie aber nicht das volle Root-Passwort geben möchten.

Denken Sie daran: Ein Benutzer in der Sudo-Gruppe hat enorme Macht über das System. Gehen Sie daher vorsichtig damit um und vergeben Sie diese Rechte nur, wenn es notwendig ist.

Fügen wir nun "joker" zur Sudo-Gruppe hinzu:

  1. Führen Sie diesen Befehl aus:
sudo usermod -aG sudo joker

Das bewirkt Folgendes:

  • usermod modifiziert das Benutzerkonto.
  • -aG steht für "append to Group" (zur Gruppe hinzufügen, ohne bestehende Gruppenzugehörigkeiten zu löschen).
  • sudo ist die Zielgruppe.
  • joker ist der betroffene Benutzer.
  1. Überprüfen Sie die Änderung:
groups joker

Sie sollten sudo in der Liste der Gruppen von "joker" sehen.

  1. Um die Auswirkung zu testen, wechseln wir zum Benutzer "joker" und versuchen einen Befehl, der Sudo-Rechte erfordert:
su - joker

Dieser Befehl wechselt vom aktuellen Benutzer (labex) zum Benutzer "joker". Sie werden nach dem Passwort von "joker" gefragt. Verwenden Sie das zuvor festgelegte Passwort (password123). Auch hier werden keine Zeichen bei der Eingabe angezeigt.

  1. Sobald Sie als "joker" angemeldet sind, versuchen wir eine Datei zu lesen, die normalerweise nur Root vorbehalten ist:
sudo cat /etc/shadow

Geben Sie bei Aufforderung erneut das Passwort von "joker" ein. Wenn Sie den Inhalt der Datei /etc/shadow sehen können, ist bestätigt, dass "joker" nun über Sudo-Privilegien verfügt.

  1. Wenn Sie fertig sind, geben Sie exit ein, um zu Ihrem ursprünglichen Benutzerkonto (labex) zurückzukehren.

Hinweis: In einer Produktionsumgebung sollten Sie sehr genau prüfen, wen Sie in die Sudo-Gruppe aufnehmen. Mit großer Macht kommt große Verantwortung!

Benutzerkonten sperren und entsperren

Manchmal müssen Sie ein Benutzerkonto vorübergehend deaktivieren, ohne es direkt zu löschen.

  1. Sperren Sie das Konto von "joker":
sudo passwd -l joker

Die Option -l (lock) sperrt das Passwort.

  1. Versuchen Sie, zum Benutzer "joker" zu wechseln:
su - joker

Geben Sie das Passwort ein. Sie sollten die Meldung "authentication failure" (Authentifizierungsfehler) erhalten. Das bedeutet, das Konto ist erfolgreich gesperrt.

  1. Jetzt entsperren wir das Konto wieder:
sudo passwd -u joker

Die Option -u (unlock) entsperrt das Passwort.

  1. Versuchen Sie erneut, zum Benutzer "joker" zu wechseln:
su - joker

Geben Sie das Passwort ein. Diesmal sollte der Wechsel zum Benutzer "joker" wieder erfolgreich funktionieren.

Geben Sie exit ein, um zu Ihrem ursprünglichen Benutzerkonto zurückzukehren, bevor Sie mit dem nächsten Schritt fortfahren.

Einen Benutzer löschen

Zum Abschluss lernen wir, wie man einen Benutzer löscht. Wir werden den Benutzer "bob" entfernen, den wir zuvor erstellt haben.

  1. Löschen Sie "bob" inklusive seines Heimatverzeichnisses:
sudo userdel -r bob

Der Befehl userdel löscht Benutzerkonten. Die Option -r sorgt dafür, dass auch das Heimatverzeichnis und die Mail-Queue des Benutzers entfernt werden.

  1. Überprüfen Sie, ob der Benutzer gelöscht wurde:
sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob

Beide Befehle sollten keine Ergebnisse liefern. Dies bestätigt, dass sowohl der Benutzer als auch sein Verzeichnis erfolgreich entfernt wurden.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zur Linux-Benutzerkontenverwaltung erfolgreich abgeschlossen. Sie haben gelernt, wie man:

  1. Neue Benutzerkonten erstellt.
  2. Benutzerpasswörter festlegt.
  3. Benutzereigenschaften wie das Heimatverzeichnis und die Standard-Shell ändert.
  4. Benutzer zu Gruppen hinzufügt.
  5. Benutzerkonten sperrt und entsperrt.
  6. Benutzerkonten löscht.

Zudem haben Sie wichtige Linux-Konzepte wie die Datei /etc/passwd, Heimatverzeichnisse, Shells und Benutzergruppen kennengelernt. Dies sind grundlegende Fertigkeiten für die Administration von Linux-Systemen. Denken Sie daran, in realen Szenarien stets die Sicherheitsrichtlinien Ihrer Organisation zu befolgen, wenn Sie Benutzerkonten verwalten.