Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Linux Zuletzt aktualisiert: September 23, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Die Benutzerverwaltung gehört in jedem Betriebssystem zu den grundlegenden Routineaufgaben eines Systemadministrators

Bei einem Linux-basierten Betriebssystem gehört dazu in der Regel das Anlegen von Benutzerkonten, das Ändern bestehender Konten, z.B. das Ändern des Home-Verzeichnisses, der Standard-Shell, das Sperren/Entsperren eines oder mehrerer Konten und das Entfernen von Benutzerkonten.

Bevor wir uns mit den Befehlen und Prozessen zur Durchführung dieser Aufgaben befassen, lassen Sie uns kurz darauf eingehen, wie Benutzerkonten in Linux klassifiziert werden können. Beachten Sie außerdem, dass die angegebenen Befehle in den meisten gängigen Linux-Distributionen funktionieren, sofern sie nicht ausdrücklich angegeben sind

Benutzertypen

Root-Benutzer

Der Root-Benutzer ist der Administrator des Betriebssystems mit allen Rechten, um Operationen durchzuführen. Normalerweise kann nur root grundlegende Systemprogramme und Bibliotheken installieren/deinstallieren oder aktualisieren. Er ist das einzige Benutzerkonto mit systemweiten Rechten

Der Root-Benutzer ist auch der mächtigste Benutzer des Systems

Besonderer Benutzer

Dies sind die Benutzer ohne Logins. Sie verfügen nicht über alle Privilegien des Root-Benutzers. Je nach Konto nehmen sie verschiedene spezielle Rollen ein

Diese werden bei der Installation einer Anwendung automatisch erstellt. bin, sync, lp, mail, operator, squid sind einige Beispiele für spezielle Benutzer

Allgemeine Benutzer

Gewöhnliche Benutzer haben nur in ihrem Arbeitsverzeichnis, in der Regel ihrem Home-Verzeichnis, volle Berechtigungen. Sie haben keine Privilegien, um das System zu verwalten oder die Software zu installieren. Sie können diese Aufgaben nicht ausführen, wenn sie nicht über spezielle Privilegien via sudo verfügen

Benutzer hinzufügen

Debian/Ubuntu

Auf einem Debian- oder Ubuntu-basierten System gibt es mehrere Möglichkeiten, Benutzer über die CLI hinzuzufügen. Der erste Befehl ist adduser, der ein Perl-Skript ist und den Befehl useradd im Backend verwendet, dessen Verwendung wir später sehen werden

Da das Hinzufügen eines Benutzers eine privilegierte Aufgabe ist, müssen Sie sudo als Präfix und den Benutzernamen als Argument verwenden. Andere Details können nach Aufforderung angegeben werden. Außer dem Benutzernamen und dem Kennwort sind die übrigen Angaben optional. Wir können überprüfen, ob der Benutzer erstellt wurde, indem wir den Befehl id verwenden

$ sudo adduser johndoe
Hinzufügen des Benutzers `johndoe' ...
Hinzufügen der neuen Gruppe `johndoe' (1003) ...
Hinzufügen des neuen Benutzers `johndoe' (1003) mit der Gruppe `johndoe' ...
Erstellen des Home-Verzeichnisses `/home/johndoe' ...
Kopieren von Dateien aus `/etc/skel' ...
Neues Passwort:
Neues Passwort wiederholen:
passwd: Passwort erfolgreich aktualisiert
Ändern der Benutzerinformationen für johndoe
Geben Sie den neuen Wert ein oder drücken Sie ENTER für die Standardeinstellung
 Full Name []: John Doe
 Zimmernummer []:
 Telefon auf der Arbeit []:
 Telefon zu Hause []:
 Sonstiges []:
Sind die Angaben korrekt? [J/n] J

$


$
 id johndoe

uid=1003

(johndoe) gid=1003(johndoe) groups=1003(johndoe)

$

CentOS/RHEL/Fedora (einschließlich Debian/Ubuntu)

Der nächste Befehl, useradd, funktioniert sowohl auf RHEL-basierten Betriebssystemen als auch auf Ubuntu/Debian-Hosts. Die einfachste Syntax (ohne zusätzliche Optionen) zum Anlegen eines neuen Benutzers lautet

$ sudo useradd <Benutzername&gt

Beispiel

$ sudo useradd janedoe

Der Befehl useradd unterstützt mehrere Optionen, die bei der Erstellung des Benutzers angegeben werden können. Die häufigsten sind Benutzer-ID (UID), Gruppen-ID (GID), Standardshell und Heimatverzeichnis usw. Ein solches Beispiel finden Sie unten

$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe

Sie können den neu angelegten Benutzer mit dem Befehl id überprüfen

$ id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe)

$

Benutzer ändern

Häufig müssen bestimmte Eigenschaften bestehender Benutzer aufgrund von Organisationsanforderungen, Benutzeranfragen oder Systemmigrationen geändert werden. Die meisten dieser Eigenschaften lassen sich leicht ändern, aber wir müssen sicherstellen, wie sich dies auf die Benutzerumgebung und den Zugriff auf Dateien auswirkt, die dem Benutzer gehören oder auf die er zugreift.

Standard-Gehäuse

Die Standardshell ist die CLI-Shell, die erstellt wird, wenn ein Benutzer eine neue CLI-Sitzung entweder lokal oder über SSH startet. Die meisten modernen Systeme verfügen über eine Standard-Bash, die jedoch je nach Linux-Distribution oder Umgebung des Benutzers variieren kann. Um die Standardshell eines Benutzers zu ändern, verwenden Sie

$ sudo usermod -s <shell> <Benutzername&gt

Beispiel

$ getent passwd janedoe

janedoe

:x:1005:1005::/data/newhome:/bin/sh

$

 sudo usermod -s /bin/bash janedoe

$

 getent passwd janedoe

janedoe

:x:1005:1005::/data/newhome:/bin/bash

$
Wie Sie in der obigen Ausgabe sehen können, wurde die Shell für den Benutzer janedoe von /bin/sh auf /bin/bash geändert

Home-Verzeichnis

Wie die Standard-Shell kann auch das Home-Verzeichnis eines Benutzers in einem anderen Ort geändert werden

$ sudo usermod -d <neues_Verzeichnis_pfad> <Benutzername&gt

Im folgenden Beispiel wurde das Heimatverzeichnis des Benutzers janedoe in /data/janedoe geändert

$ getent passwd janedoe

janedoe

:x:1005:1005::/data/newhome:/bin/bash

$

 sudo usermod -d /data/janedoe janedoe

$

 getent passwd janedoe

janedoe

:x:1005:1005::/data/janedoe:/bin/bash

$
Vergewissern Sie sich vor dem Wechsel, dass das neue Verzeichnis die richtigen Eigentümer und Berechtigungen hat. Andernfalls kann es zu Problemen bei der Anmeldung oder beim Arbeiten im neuen Heimatverzeichnis kommen.

Benutzer-ID

Sie können die Benutzer-ID eines bestehenden Benutzers ändern.

$ sudo usermod -u <neue_uid> <Benutzername&gt

Beispiel

$ getent passwd janedoe

janedoe

:x:1005:1005::/data/janedoe:/bin/bash

$

 sudo usermod -u 1010 janedoe

$

 getent passwd janedoe

janedoe

:x:1010:1005::/data/janedoe:/bin/bash

$
Auch hier ändert die Änderung der UID, wie das Linux-Dateisystem den Besitz und die Berechtigung für eine Datei oder ein Verzeichnis zuordnet. Stellen Sie sicher, dass das Home-Verzeichnis des Benutzers und sein Inhalt sowie alle anderen Dateien irgendwo im System, die ursprünglich dem Benutzer gehörten (mit alter UID), auf UID-zugeordnet geändert werden. Andernfalls kann es zu Problemen in der CLI-Sitzung und beim Dateizugriff durch den Benutzer kommen.

Standard-Gruppe

Die Standardgruppe ist in der Regel die Standard-Gruppen-ID des Benutzers, die bei der Erstellung des Benutzers erstellt wird, sofern keine andere GID angegeben wird. Unter Linux können Sie die Standardgruppe eines Benutzers auch mit dem Befehl usermod ändern. Die Syntax lautet wie folgt

$ sudo usermod -g <neue_gid oder gruppe_name> <Benutzername&gt

Hier ist ein Beispiel

$ getent passwd janedoe

janedoe

:x:1010:1005::/data/janedoe:/bin/bash

$

 sudo usermod -g 1001 janedoe

$

 getent passwd janedoe

janedoe

:x:1010:1001::/data/janedoe:/bin/bash

$
Vergewissern Sie sich auch hier, dass die neue Gruppen-ID auf das Home-Verzeichnis, den Inhalt und alle anderen Dateien oder Verzeichnisse des Benutzers gesetzt ist, damit die Eigentumsrechte ordnungsgemäß migriert werden.

Hinzufügen/Entfernen von Gruppen

Neben der Standardgruppe kann ein Benutzer in Linux Mitglied in weiteren Gruppen sein. Mit dem Befehl usermod können wir jederzeit zusätzliche Gruppen hinzufügen oder entfernen, denen ein Benutzer angehört

$ sudo usermod -a -G <Gruppe_id oder Gruppenname> <Benutzername&gt

Beispiel

$ id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe)

$

 sudo usermod -a -G docker janedoe

$

 id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)

$
Um einen Benutzer aus einer der sekundären Gruppen zu entfernen, verwenden Sie den Befehl gpasswd wie unten gezeigt

$ sudo gpasswd -d <Benutzername> <Gruppenname&gt

Beispiel

$ id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)

$

 sudo gpasswd -d janedoe docker
Entfernen von Benutzer janedoe aus Gruppe docker

$

 id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe)

$

GECOS Kommentar

Das Feld GECOS in /etc/passwd enthält Benutzerinformationen oder einen Kommentar. Wir können diese Informationen für einen bestehenden Benutzer wie folgt ändern

$ sudo usermod -c <Kommentar> <Benutzername&gt

Beispiel

$ getent passwd janedoe

janedoe

:x:1005:1005::/data/janedoe:/bin/bash

$

 sudo usermod -c "Jane Doe - System Admin" janedoe

$

 getent passwd janedoe

janedoe

:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash

$
Bitte beachten Sie: Wenn Ihr Kommentar oder Ihre Benutzerangaben Leerzeichen enthalten, schließen Sie das Feld in Anführungszeichen ein, wie im obigen Beispiel

Anmeldename

Der Login-Name des Benutzers kann auch mit dem Befehl usermod geändert werden, indem Sie die Option -l verwenden

$ sudo usermod -l <neuer_Benutzername> <alter_Benutzername&gt

Beispiel

$ id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe)

$

 sudo usermod -l jane_doe janedoe

$

 id jane_doe

uid=1005

(jane_doe) gid=1005(janedoe) groups=1005(janedoe)

$
Denken Sie daran, die Benutzerreferenzen entsprechend dem neuen Namen zu aktualisieren, wo immer Sie ihn verwenden. Selbst in Befehlen wie id sollte der neue Benutzername angegeben werden

Benutzer entfernen

Ein Benutzer kann mit dem Befehl userdel von Linux entfernt werden

$ sudo userdel <Benutzername&gt

Beispiel

$ id janedoe

uid=1005

(janedoe) gid=1005(janedoe) groups=1005(janedoe)

$

 sudo userdel janedoe

$

 id janedoe
id: 'janedoe': no such user

$
Um einen Benutzer zusammen mit seinem Home-Verzeichnis und seinem Mail-Pool zu entfernen, fügen Sie auch die Option -r hinzu

$ sudo userdel -r <Benutzername&gt

Speziell für Ubuntu-basierte Systeme können Sie auch den Befehl deluser verwenden, um einen Benutzer zu entfernen
$

 sudo deluser <Benutzername&gt

In ähnlicher Weise können Sie auch das Home-Verzeichnis und den Mail-Spool entfernen
$

 sudo deluser --remove-home <Benutzername&gt

Ausführliche Informationen und weitere unterstützte Optionen finden Sie auf der Hauptseite der verschiedenen Befehle mit

$ man adduser

$

 man useradd

$

 man usermod

$

 man deluser

$

 man userdel

Fazit

Dieser Artikel hat verschiedene Aspekte der Benutzerverwaltung in einem Linux-System aufgezeigt. Dazu gehört eine Erklärung der verschiedenen Benutzerkategorien und wie man sie hinzufügt und entfernt. Er behandelt auch verschiedene Optionen, mit denen Sie die Parameter eines bestehenden Benutzers ändern können. Obwohl es nicht alle Möglichkeiten abdeckt, die von den verschiedenen Befehlen unterstützt werden, deckt es viele gängige Verwaltungsaufgaben ab, die einem Systemadministrator bei seiner täglichen Arbeit begegnen

Das könnte Sie auch interessieren: Wie entfernt man Dateien und Verzeichnisse in Linux?

  • Abhishek Nair
    Autor
Dank an unsere Sponsoren
Weitere gute Lektüre zu Linux
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder