Linux-Benutzerbearbeitung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Die Benutzerverwaltung ist ein grundlegendes Aspekt der Linux-Systemadministration. Egal, ob Sie einen persönlichen Computer einrichten, einen Server verwalten oder in einer Mehrbenutzerumgebung arbeiten, das Verständnis, wie man Benutzerkonten erstellt, ändert und verwaltet, ist unerlässlich.

In diesem Lab (Praktikum) werden Sie lernen, wie Sie den Befehl usermod verwenden, um Benutzerattribute wie Benutzername, Heimatverzeichnis und Gruppenmitgliedschaft zu ändern. Sie werden praktische Erfahrungen mit wichtigen Befehlen für die Benutzerverwaltung in Linux sammeln, die Ihnen die Fähigkeiten vermitteln, die Sie benötigen, um Benutzerkonten in jeder Linux-Umgebung effizient zu verwalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/usermod("User Modifying") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/cat -.-> lab-271427{{"Linux-Benutzerbearbeitung"}} linux/useradd -.-> lab-271427{{"Linux-Benutzerbearbeitung"}} linux/usermod -.-> lab-271427{{"Linux-Benutzerbearbeitung"}} linux/groups -.-> lab-271427{{"Linux-Benutzerbearbeitung"}} linux/id -.-> lab-271427{{"Linux-Benutzerbearbeitung"}} end

Erstellen und Umbenennen eines Benutzers

In diesem Schritt werden Sie einen neuen Benutzer erstellen und lernen, wie Sie ihn umbenennen. Dies ist eine häufige Aufgabe, wenn Benutzer ihre Rolle ändern oder wenn Sie die Benutzernamen in Ihrem System standardisieren müssen.

Zunächst öffnen Sie Ihr Terminal. Sie sollten sich bereits im Verzeichnis ~/project befinden. Beginnen wir damit, einen neuen Benutzer namens temporaryuser zu erstellen:

sudo useradd temporaryuser

Dieser Befehl erstellt ein neues Benutzerkonto im System. Standardmäßig erstellt useradd kein Heimatverzeichnis und setzt kein Passwort.

Jetzt überprüfen wir, ob der Benutzer erfolgreich erstellt wurde:

grep temporaryuser /etc/passwd

Sie sollten im Output einen Eintrag für temporaryuser sehen, was bestätigt, dass der Benutzer erstellt wurde.

Als Nächstes werden wir diesen Benutzer mit dem Befehl usermod von temporaryuser in permanentuser umbenennen:

sudo usermod -l permanentuser temporaryuser

Die Option -l gibt an, dass wir den Anmeldenamen ändern möchten. Nach der Ausführung dieses Befehls wird der Benutzer, der zuvor als temporaryuser bekannt war, jetzt als permanentuser bezeichnet werden.

Lassen Sie uns überprüfen, ob der Benutzername geändert wurde:

grep permanentuser /etc/passwd

Sie sollten den Benutzer-Eintrag mit dem neuen Namen permanentuser sehen.

Jetzt erstellen und weisen wir diesem Benutzer ein Heimatverzeichnis zu:

sudo usermod -d /home/permanentuser -m permanentuser

In diesem Befehl:

  • -d gibt den Pfad des neuen Heimatverzeichnisses an
  • -m verschiebt alle vorhandenen Inhalte aus dem alten Heimatverzeichnis in das neue (in diesem Fall wird das Heimatverzeichnis erstellt, da unser Benutzer keines hatte)

Lassen Sie uns überprüfen, ob das Heimatverzeichnis erstellt wurde:

ls -ld /home/permanentuser

Sie sollten das neu erstellte Heimatverzeichnis für permanentuser sehen.

Hinzufügen eines Benutzers zu Gruppen

In Linux werden Gruppen verwendet, um Benutzer zu organisieren und Berechtigungen zu verwalten. Das Hinzufügen eines Benutzers zu bestimmten Gruppen ist eine wesentliche Methode, um ihm Zugang zu bestimmten Ressourcen oder Funktionen zu gewähren.

Zunächst überprüfen wir, zu welchen Gruppen unser Benutzer derzeit gehört:

groups permanentuser

Standardmäßig wird, wenn Sie einen Benutzer mit useradd erstellen, der Benutzer einer primären Gruppe zugewiesen, die denselben Namen wie der Benutzername hat.

Jetzt überprüfen wir, ob die sudo-Gruppe auf Ihrem System existiert:

grep sudo /etc/group

Sie sollten einen Eintrag für die sudo-Gruppe sehen. Diese spezielle Gruppe ermöglicht es ihren Mitgliedern, Befehle mit Superuser-Rechten mithilfe des sudo-Befehls auszuführen.

Fügen wir unseren Benutzer der sudo-Gruppe hinzu:

sudo usermod -aG sudo permanentuser

In diesem Befehl:

  • -a bedeutet "anhängen", was sicherstellt, dass wir den Benutzer der Gruppe hinzufügen, ohne ihn aus anderen Gruppen zu entfernen
  • -G gibt die Gruppe(n) an, zu der/denen der Benutzer hinzugefügt werden soll
  • sudo ist der Name der Gruppe
  • permanentuser ist der Benutzer, den wir ändern

Überprüfen wir, ob der Benutzer der sudo-Gruppe hinzugefügt wurde:

groups permanentuser

Die Ausgabe sollte jetzt sudo in der Gruppenliste enthalten.

Sie können auch die Gruppenmitgliedschaft überprüfen, indem Sie sich die Datei /etc/group ansehen:

grep sudo /etc/group

Die Ausgabe sollte permanentuser in der Liste der Mitglieder der sudo-Gruppe enthalten.

Ändern der Shell eines Benutzers

Jeder Benutzer in Linux hat eine Standard-Shell, die die Befehlszeilenschnittstelle bestimmt, die er beim Anmelden verwendet. In diesem Schritt lernen Sie, wie Sie die Anmeldeshell eines Benutzers ändern.

Zunächst überprüfen wir die aktuelle Shell, die unserem Benutzer zugewiesen ist:

grep permanentuser /etc/passwd

Schauen Sie sich das letzte Feld in der Ausgabe an. Es sollte die aktuelle Shell anzeigen, die für Benutzer, die mit useradd ohne zusätzliche Optionen erstellt wurden, typischerweise /bin/sh ist.

Jetzt ändern wir die Shell auf Bash, eine Shell mit mehr Funktionen:

sudo usermod -s /bin/bash permanentuser

Die Option -s gibt die neue Anmeldeshell für den Benutzer an.

Lassen Sie uns überprüfen, ob die Shell geändert wurde:

grep permanentuser /etc/passwd

Das Ende der Zeile sollte jetzt /bin/bash als Shell für permanentuser anzeigen.

Verschiedene Shells bieten unterschiedliche Funktionen und Benutzererfahrungen. Bash ist eine der beliebtesten Shells, da sie erweiterte Funktionen wie die folgenden bietet:

  • Befehlsautovervollständigung
  • Navigation in der Befehlshistorie
  • Anpassbare Prompts
  • Skriptfähigkeiten mit Funktionen und Kontrollstrukturen

Andere gängige Shells in Linux sind:

  • /bin/sh - Die Bourne Shell, eine einfache Shell
  • /bin/zsh - Z Shell, mit zusätzlichen Funktionen über Bash hinaus
  • /bin/dash - Debian Almquist Shell, eine leichte Shell

Benutzer können während ihrer Sitzung zwischen den installierten Shells mit dem Befehl chsh wechseln oder lassen ihre Standard-Shell von einem Administrator mit usermod ändern, wie wir es gerade getan haben.

Festlegen eines Kontoablaufdatums und Anzeigen von Benutzerinformationen

Systemadministratoren müssen oft temporäre Konten erstellen oder sicherstellen, dass Konten regelmäßig überprüft werden. In diesem Schritt lernen Sie, wie Sie ein Ablaufdatum für ein Konto festlegen und umfassende Benutzerinformationen anzeigen.

Festlegen eines Kontoablaufdatums

Legen Sie ein Ablaufdatum für das permanentuser-Konto fest. Dies ist nützlich für temporäre Benutzer oder Auftragnehmer, die nur für einen bestimmten Zeitraum Zugang haben sollen.

sudo usermod -e 2023-12-31 permanentuser

Die Option -e legt das Ablaufdatum im Format YYYY-MM-DD fest. Nach diesem Datum wird das Konto automatisch deaktiviert.

Um zu überprüfen, ob das Ablaufdatum festgelegt wurde:

sudo chage -l permanentuser

Der Befehl chage -l zeigt Informationen zur Kontoalterung an. Die Ausgabe enthält eine Zeile "Account expires", die das von Ihnen festgelegte Datum anzeigt.

Anzeigen detaillierter Benutzerinformationen

Es gibt mehrere Befehle, um Benutzerinformationen in Linux anzuzeigen. Lassen Sie uns sie untersuchen:

  1. Überprüfen Sie die Benutzer-ID, Gruppen-ID und Gruppenmitgliedschaften:
id permanentuser

Dieser Befehl zeigt die numerische Benutzer-ID (UID), die primäre Gruppen-ID (GID) und alle Gruppen an, zu denen der Benutzer gehört.

  1. Zeigen Sie den Passwortstatus und die Alterungsinformationen an:
sudo passwd -S permanentuser

Dieser Befehl zeigt den Passwortstatus (gesperrt, abgelaufen usw.) und das Datum der letzten Änderung an.

  1. Zeigen Sie alle Benutzer im System an:
cat /etc/passwd | grep -v nologin | grep -v false

Dieser Befehl filtert die Passwortdatei, um nur Benutzer anzuzeigen, die sich anmelden können (ausschließlich Systembenutzer).

  1. Zeigen Sie alle Gruppen im System an:
cat /etc/group

Dies zeigt alle auf dem System definierten Gruppen an, einschließlich Systemgruppen und Benutzergruppen.

Das Verständnis, wie man Benutzerinformationen effizient abruft, ist für die Systemadministration und die Behebung von Benutzerzugangsproblemen von entscheidender Bedeutung.

Zusammenfassung

In diesem Lab haben Sie essentielle Benutzerverwaltungstasks in Linux gelernt:

  1. Erstellen eines Benutzers und Umbenennen desselben mit dem Befehl usermod -l
  2. Einrichten eines Heimatverzeichnisses für einen Benutzer mit usermod -d -m
  3. Hinzufügen eines Benutzers zu zusätzlichen Gruppen mit usermod -aG
  4. Ändern der Anmeldeshell eines Benutzers mit usermod -s
  5. Festlegen von Kontoablaufdaten mit usermod -e
  6. Anzeigen von Benutzerinformationen mit Befehlen wie id, chage und Untersuchung von Systemdateien

Diese Benutzerverwaltungskompetenzen sind für jeden Linux-Administrator grundlegend. Der Befehl usermod bietet ein vielseitiges Toolset zum Ändern von Benutzerattributen, ohne dass Benutzerkonten gelöscht und neu erstellt werden müssen.

Durch das Beherrschen dieser Befehle können Sie Benutzerkonten in jeder Linux-Umgebung effizient verwalten, sei es auf einem Einzelbenutzer-Arbeitsplatz, einem Mehrbenutzer-Server oder in einer Unternehmensumgebung mit vielen Benutzern, die unterschiedliche Zugangsberechtigungen benötigen.