CodeGym /Kurse /Docker SELF /Benutzerverwaltung: Befehle adduser, usermod, passwd

Benutzerverwaltung: Befehle adduser, usermod, passwd

Docker SELF
Level 2 , Lektion 1
Verfügbar

Benutzerverwaltung: Befehle adduser, usermod, passwd

1. Warum ist es wichtig, die Benutzerverwaltung zu verstehen?

Heute tauchen wir in die Benutzerverwaltung ein, da sie ein wichtiger Bestandteil der Linux-Administration ist. Benutzer erstellen, deren Umgebung konfigurieren und ihre Passwörter verwalten – all das wird ein wichtiges Werkzeug für deine Arbeit. Los geht's!

In Linux arbeiten oft viele Benutzer auf einem Server. Das System gibt jedem Benutzer bestimmte Rechte, um Daten zu schützen und Chaos zu vermeiden. Du musst wissen, wie man neue Benutzer hinzufügt (zum Beispiel Entwickler in deinem Team), ihre Umgebung einstellt (zum Beispiel die Shell wechselt) und bei Bedarf den Zugriff einschränkt.


2. Benutzer mit adduser erstellen

Linux bietet den Befehl adduser, der eine benutzerfreundlichere Variante des Befehls useradd ist. Damit kannst du schnell und einfach neue Benutzer erstellen:

Grundlegende Syntax

adduser benutzername

Was passiert bei der Erstellung eines Benutzers?

  1. Ein neuer Eintrag wird in der Datei /etc/passwd für den Benutzer erstellt.
  2. Ein Home-Verzeichnis wird generiert (zum Beispiel /home/benutzername).
  3. Die grundlegenden Einstellungen werden konfiguriert (zum Beispiel die Standard-Shell).
  4. Du wirst aufgefordert, ein Passwort und zusätzliche Informationen einzugeben (zum Beispiel Name, Telefonnummer – diese Angaben sind optional).

Beispiel

Erstellen wir einen neuen Benutzer dev_user:

sudo adduser dev_user

Nach Eingabe dieses Befehls wirst du folgendes gefragt:

  1. Ein Passwort für den Benutzer festlegen.
  2. Zusätzliche Informationen eingeben, die du einfach durch Drücken von Enter überspringen kannst.

Überprüfung

Um sicherzugehen, dass der Benutzer erstellt wurde, kannst du die Datei /etc/passwd überprüfen:

cat /etc/passwd | grep dev_user

Du wirst eine Zeile sehen, die Informationen über den Benutzer dev_user enthält.


3. Benutzer mit usermod konfigurieren

Wenn ein Benutzer bereits erstellt wurde, kann es notwendig sein, seine Parameter zu ändern. Zum Beispiel den Namen zu ändern, eine andere Shell anzugeben oder ihn zu einer Gruppe hinzuzufügen.

Benutzernamen ändern

Vergewissere dich zuerst, dass der Benutzer nicht im System angemeldet ist. Führe dann den folgenden Befehl aus:

sudo usermod -l neuer_name alter_name

Beispiel:

sudo usermod -l developer dev_user

Nun wird der Benutzer dev_user als developer bezeichnet. Sein Home-Verzeichnis bleibt jedoch vorläufig unverändert.

Standard-Shell ändern

Angenommen, du musst die Shell des Benutzers in /bin/zsh ändern. Führe hierfür den folgenden Befehl aus:

sudo usermod --shell /bin/zsh developer

Überprüfe, ob die Shell geändert wurde, indem du den folgenden Befehl ausführst:

cat /etc/passwd | grep developer

Home-Verzeichnis ändern

Wenn du möchtest, dass der Benutzer in einem neuen Home-Verzeichnis arbeitet, führe Folgendes aus:

sudo usermod -d /neuer/pfad developer
Wichtig:

Falls das Verzeichnis noch nicht existiert, verwende die Option -m, damit es erstellt wird und der Inhalt des alten Verzeichnisses verschoben wird:

sudo usermod -d /home/new_developer -m developer

4. Passwortverwaltung mit passwd

Passwort setzen und ändern

Um ein Passwort für einen Benutzer zu setzen oder zu ändern, wird folgender Befehl verwendet:

sudo passwd benutzername

Beispiel:

sudo passwd developer

Das System wird dich darum bitten, das neue Passwort zweimal einzugeben, um sicherzustellen, dass du dich nicht vertippt hast.

Erzwingen der Passwortänderung beim nächsten Login

Das kann praktisch sein, wenn du Benutzer erstellst und möchtest, dass sie ihr Passwort beim ersten Login selbst festlegen:

sudo passwd -e developer

Danach wird der Benutzer developer beim Login eine Nachricht sehen, dass er das Passwort ändern muss.


5. Praxis

Aufgabe 1: Erstelle einen neuen Benutzer

  1. Fügen wir den Benutzer tester hinzu:

    sudo adduser tester
    
  2. Stelle sicher, dass der Benutzer erstellt wurde:

    cat /etc/passwd | grep tester
    

Aufgabe 2: Konfiguriere Benutzereinstellungen

  1. Ändere den Benutzernamen:

    sudo usermod -l test_user tester
    
  2. Ändere das Home-Verzeichnis des Benutzers:

    sudo usermod -d /home/test_user -m test_user
    
  3. Stelle sicher, dass die Änderungen übernommen wurden:

    ls -l /home/
    
  4. Ändere die Shell des Benutzers:

    sudo usermod --shell /bin/zsh test_user
    
  5. Überprüfe die aktualisierten Benutzerdaten:

    cat /etc/passwd | grep test_user
    

Aufgabe 3: Setze ein neues Passwort für den Benutzer

  1. Setze ein Passwort für den Benutzer:

    sudo passwd test_user
    
  2. Erzwinge, dass der Benutzer sein Passwort beim nächsten Login ändert:

    sudo passwd -e test_user
    

6. Einführung in Pipes | in Linux

Pipes | sind ein Mechanismus in Unix/Linux, der es ermöglicht, die Ausgabe eines Kommandos (stdout) als Eingabe (stdin) für ein anderes Kommando zu verwenden. Es ist ein mächtiges Tool, das es ermöglicht, Kommandos zu verbinden und so "Pipelines" für die Datenverarbeitung zu erstellen.

Wie funktioniert das?

Wenn du ein Pipe zwischen Kommandos benutzt, leitet Linux die Standardausgabe des ersten Kommandos in die Standardeingabe des nächsten. Das ermöglicht die effektive Verarbeitung großer Datenmengen ohne temporäre Dateien.

Syntax:

befehl1 | befehl2 | befehl3
  • befehl1 generiert Daten.
  • befehl2 verarbeitet die erhaltenen Daten.
  • befehl3 führt eine weitere Verarbeitung durch oder speichert das Ergebnis.

Beispiel:

Dateiliste anzeigen und nach einem Muster filtern:

ls -l | grep ".txt"

Hier gibt ls -l die Dateiliste aus, und grep filtert nur Dateien mit der Erweiterung .txt.

Zeilen zählen, die ein bestimmtes Wort enthalten:

cat file.txt | grep "Linux" | wc -l

Der Inhalt der Datei wird ausgegeben, nach Zeilen mit "Linux" gesucht und deren Anzahl gezählt.

Vorteile von Pipes:

  • Vereinfachung komplexer Operationen.
  • Minimierung der Nutzung temporärer Dateien.
  • Möglichkeit, mächtige Linux-Tools zur Automatisierung von Aufgaben zu kombinieren.

7. Einführung in grep in Linux

grep (Global Regular Expression Print) ist ein Kommandozeilen-Tool in Unix/Linux, das verwendet wird, um Zeilen in Dateien zu suchen, die einem angegebenen Muster entsprechen. Es wird häufig zum Filtern und Suchen von Daten verwendet, da es reguläre Ausdrücke unterstützt und flexible Einstellungen bietet.

Wie funktioniert grep?

  • grep nimmt eine Textdatei (oder die Standard-Eingabe), sucht nach Zeilen, die dem angegebenen Muster entsprechen, und gibt diese aus.
  • Wenn das Muster nicht gefunden wird, gibt der Befehl nichts aus.

Beispiele

Dateiliste ausgeben und nach Muster filtern:

ls -l | grep ".txt"
  1. Zuerst wird der Befehl ls -l ausgeführt, der die Liste der Dateien im aktuellen Verzeichnis ausgibt
  2. Die Ausgabe des ersten Befehls ls wird mithilfe des Pipes | an den Eingang des zweiten Befehls grep weitergeleitet
  3. Der zweite Befehl filtert die übergebenen Zeilen und gibt nur diejenigen aus, die ".txt" enthalten

Zeilen zählen, die ein bestimmtes Wort enthalten:

cat file.txt | grep "Linux" | wc -l
  1. Zuerst wird der Befehl cat file.txt ausgeführt, der den Inhalt der Datei file.txt auf dem Bildschirm ausgibt
  2. Die Ausgabe des ersten Befehls cat wird mithilfe des Pipes | an den Eingang des zweiten Befehls grep weitergeleitet
  3. Der zweite Befehl filtert die übergebenen Zeilen und gibt nur diejenigen aus, die Linux enthalten
  4. Dann wird die Ausgabe des zweiten Befehls grep mithilfe des Pipes | an den Eingang des dritten Befehls wc weitergeleitet
  5. Der dritte Befehl zählt die übergebenen Zeilen und zeigt die Anzahl davon an

8. Typische Fehler und Feinheiten

  1. Fehler "user is currently logged in" beim Ändern des Benutzernamens. Wenn der Benutzer angemeldet ist, kannst du seinen Namen nicht ändern. Stelle sicher, dass der Benutzer abgemeldet ist.

  2. Fehler beim Ändern des Home-Verzeichnisses. Wenn man vergisst, -m anzugeben, wird der Inhalt des alten Verzeichnisses nicht ins neue übertragen. Der Benutzer kann seine Daten verlieren.

  3. Passwort für den Benutzer vergessen einzustellen. Nachdem du einen Benutzer mit adduser erstellt hast, überprüfe unbedingt, ob ein Passwort gesetzt ist. Ohne Passwort kann er sich nicht anmelden.

  4. Werte für UID und GID. Manchmal möchten Administratoren Werte für UID (Benutzerkennung) und GID (Gruppenkennung) beim Erstellen eines Benutzers angeben. Dafür wird der Befehl useradd verwendet, aber das ist ein Thema für fortgeschrittenes Linux-Wissen.


9. Praktische Anwendung

Stell dir vor: Du bist Administrator der Server deines Unternehmens. Entwickler kommen zu dir, und jeder von ihnen verlangt Zugang zum System mit individuellen Einstellungen. Du kannst:

  • Benutzer erstellen und ihnen die notwendigen Zugriffsrechte zuweisen.
  • Die Umgebung (z. B. shell) je nach ihren Vorlieben anpassen.
  • Passwörter verwalten und die Sicherheit überwachen.

Diese Befehle sind auch nützlich, wenn du dich für eine DevOps- oder Systemadministrator-Stelle bewirbst. Man könnte dich fragen, wie du Benutzer erstellen und konfigurieren würdest, oder dir anbieten, die Aufgabe in der Praxis auszuführen.


Spickzettel: Wichtige Befehle

Befehl Beschreibung
sudo adduser benutzername Erstellt einen neuen Benutzer.
sudo usermod -l neu alt Ändert den Benutzernamen.
sudo usermod --shell pfad name Legt die Standardshell fest.
sudo usermod -d pfad name Ändert das Home-Verzeichnis.
sudo passwd name Setzt ein neues Passwort.
sudo passwd -e name Erzwingt eine Passwortänderung beim nächsten Login.

Übe fleißig! Linux bedeutet immer "Hands-on". Je mehr du mit den Befehlen experimentierst, desto leichter wird es, mit echten Systemen zu arbeiten.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION