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?
- Ein neuer Eintrag wird in der Datei
/etc/passwd
für den Benutzer erstellt. - Ein Home-Verzeichnis wird generiert (zum Beispiel
/home/benutzername
). - Die grundlegenden Einstellungen werden konfiguriert (zum Beispiel die Standard-Shell).
- 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:
- Ein Passwort für den Benutzer festlegen.
- 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
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
Fügen wir den Benutzer
tester
hinzu:sudo adduser tester
Stelle sicher, dass der Benutzer erstellt wurde:
cat /etc/passwd | grep tester
Aufgabe 2: Konfiguriere Benutzereinstellungen
Ändere den Benutzernamen:
sudo usermod -l test_user tester
Ändere das Home-Verzeichnis des Benutzers:
sudo usermod -d /home/test_user -m test_user
Stelle sicher, dass die Änderungen übernommen wurden:
ls -l /home/
Ändere die Shell des Benutzers:
sudo usermod --shell /bin/zsh test_user
Überprüfe die aktualisierten Benutzerdaten:
cat /etc/passwd | grep test_user
Aufgabe 3: Setze ein neues Passwort für den Benutzer
Setze ein Passwort für den Benutzer:
sudo passwd test_user
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"
- Zuerst wird der Befehl
ls -l
ausgeführt, der die Liste der Dateien im aktuellen Verzeichnis ausgibt - Die Ausgabe des ersten Befehls
ls
wird mithilfe des Pipes|
an den Eingang des zweiten Befehlsgrep
weitergeleitet - 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
- Zuerst wird der Befehl
cat file.txt
ausgeführt, der den Inhalt der Datei file.txt auf dem Bildschirm ausgibt - Die Ausgabe des ersten Befehls
cat
wird mithilfe des Pipes|
an den Eingang des zweiten Befehlsgrep
weitergeleitet - Der zweite Befehl filtert die übergebenen Zeilen und gibt nur diejenigen aus, die Linux enthalten
- Dann wird die Ausgabe des zweiten Befehls
grep
mithilfe des Pipes|
an den Eingang des dritten Befehlswc
weitergeleitet - Der dritte Befehl zählt die übergebenen Zeilen und zeigt die Anzahl davon an
8. Typische Fehler und Feinheiten
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.
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.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.Werte für
UID
undGID
. Manchmal möchten Administratoren Werte fürUID
(Benutzerkennung) undGID
(Gruppenkennung) beim Erstellen eines Benutzers angeben. Dafür wird der Befehluseradd
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.
GO TO FULL VERSION