Harting Development

Linux: Erstellen eines neuen Benutzers

Lukas Fuchs vor 8 Monaten in  Sicherheit 3 Minuten Lesedauer

Syntax und Verwendung von 'useradd'

Der Befehl 'useradd' ist ein vielseitiges Werkzeug, mit dem du auf Linux-Systemen neue Benutzer erstellen kannst. Er bietet eine Vielzahl von Optionen, mit denen du die Benutzerkonfiguration an deine spezifischen Anforderungen anpassen kannst.

Grundlegende Syntax

Die grundlegende Syntax von 'useradd' lautet:

useradd [Optionen] Benutzername

Dabei ist Benutzername der Name des Benutzers, den du erstellen möchtest.

Optionen zur Benutzeranpassung

Du kannst verschiedene Optionen verwenden, um die Eigenschaften des Benutzers anzupassen, darunter:

  • -u: Legt die Benutzer-ID (UID) des Benutzers fest.
  • -g: Legt die Gruppen-ID (GID) des Benutzers fest.
  • -M: Erstellt kein Home-Verzeichnis für den Benutzer.
  • -d: Legt das Home-Verzeichnis des Benutzers fest.
  • -s: Legt die Shell fest, die der Benutzer standardmäßig verwenden wird.

Festlegen von Benutzername, UID und GID

Beim Erstellen eines neuen Benutzers mit useradd musst du seine grundlegenden Informationen festlegen, darunter seinen Benutzernamen, seine Benutzer-ID (UID) und seine Gruppen-ID (GID).

Benutzername

Der Benutzername ist ein eindeutiger Name, der den Benutzer identifiziert. Er sollte klein geschrieben und ohne Leerzeichen oder Sonderzeichen sein.

UID

Die UID ist eine numerische Kennung, die einem Benutzer zugewiesen wird. Sie wird verwendet, um den Benutzer zu identifizieren und zuzuordnen Dateien und Ordner mit dem entsprechenden Benutzer. Standardmäßig weist useradd dem neuen Benutzer die kleinste verfügbare UID zu. Du kannst jedoch eine bestimmte UID angeben, indem du die Option -u verwendest.

GID

Die GID ist die numerische Kennung der Gruppe, zu der der Benutzer gehört. Standardmäßig wird der neue Benutzer der primären Gruppe users hinzugefügt. Du kannst jedoch eine andere Gruppe angeben, indem du die Option -g verwendest.

So legst du Benutzername, UID und GID fest:

Um den Benutzernamen, die UID und die GID festzulegen, verwende die folgenden Optionen mit useradd:

  • -u, --uid <UID>: Legt die UID des Benutzers fest.
  • -g, --gid <GID>: Legt die GID des Benutzers fest.
  • -n, --name <Benutzername>: Legt den Benutzernamen fest.

Beispiel:

sudo useradd -u 100 -g 10 -n john

Dieser Befehl erstellt einen neuen Benutzer mit dem Namen john, der UID 100 und der GID 10.

Erstellen eines Home-Verzeichnisses und Festlegen von Berechtigungen

Jedes Mal, wenn du einen neuen Benutzer erstellst, musst du auch ein Home-Verzeichnis für ihn einrichten. Dies ist ein privater Bereich, in dem der Benutzer seine Dateien und Konfigurationen speichern kann.

Erstellen des Home-Verzeichnisses

Standardmäßig erstellt useradd kein Home-Verzeichnis für den neuen Benutzer. Um eins zu erstellen, verwende die Option -d gefolgt vom Pfad zum Verzeichnis. Beispielsweise erstellt der folgende Befehl ein Home-Verzeichnis für den Benutzer username unter /home/username:

useradd -d /home/username username

Festlegen von Berechtigungen

Nach dem Erstellen des Home-Verzeichnisses musst du seine Berechtigungen festlegen. Standardmäßig hat der Benutzer nur Lese- und Ausführungsberechtigungen für sein Home-Verzeichnis, andere Benutzer haben überhaupt keine Berechtigungen. Um dem Benutzer Vollzugriff (Lesen, Schreiben und Ausführen) auf sein Home-Verzeichnis zu gewähren, verwende die Option -m mit useradd. Beispiel:

useradd -d /home/username -m username

Weitere Optionen

Zusätzlich zu den oben aufgeführten Optionen gibt es noch weitere Möglichkeiten, die Berechtigungen des Home-Verzeichnisses zu steuern:

  • **-g`: Legt die Hauptgruppe des Verzeichnisses fest.
  • -o: Fügt den Benutzer als Eigentümer des Verzeichnisses hinzu.
  • **-G`: Fügt den Benutzer einer oder mehreren zusätzlichen Gruppen hinzu.

Zusammenfassung

Das Erstellen eines Home-Verzeichnisses und das Festlegen seiner Berechtigungen ist ein wichtiger Schritt bei der Erstellung eines neuen Benutzers. Indem du diese Optionen verwendest, kannst du sicherstellen, dass der Benutzer über einen privaten und sicheren Ort zum Speichern seiner Dateien verfügt.

Hinzufügen des Benutzers zu Gruppen

Nachdem du den neuen Benutzer erstellt hast, kannst du ihn zu Gruppen hinzufügen, um ihm bestimmte Berechtigungen zuzuweisen. Gruppen sind eine praktische Möglichkeit, Berechtigungen für mehrere Benutzer gleichzeitig zu verwalten, anstatt jedem Benutzer einzeln Berechtigungen zuzuweisen.

Syntax

Verwende den Befehl usermod mit der Option -G, um einen Benutzer zu einer Gruppe hinzuzufügen:

usermod -G Gruppe Benutzername

Du kannst auch mehrere Gruppen mit Kommas trennen angeben:

usermod -G Gruppe1,Gruppe2,Gruppe3 Benutzername

Benutzer aus Gruppen entfernen

Um einen Benutzer aus einer Gruppe zu entfernen, verwende die Option -G mit dem Präfix -, gefolgt vom Gruppennamen:

usermod -G -Gruppe Benutzername

Primäre und sekundäre Gruppen

Jeder Benutzer hat eine primäre Gruppe, die seine Standardberechtigungen bestimmt. Du kannst die primäre Gruppe eines Benutzers mit der Option -g festlegen:

usermod -g Gruppe Benutzername

Zusätzlich zur primären Gruppe kann ein Benutzer auch Mitglied mehrerer sekundärer Gruppen sein. Sekundäre Gruppen gewähren dem Benutzer zusätzliche Berechtigungen, ohne seine primären Gruppenberechtigungen zu überschreiben.

Sperren oder Entsperren des Benutzers

Manchmal ist es notwendig, einen Benutzer vorübergehend zu sperren, um unbefugten Zugriff auf das System zu verhindern. Andererseits muss ein gesperrter Benutzer wieder entsperrt werden, um auf das System zuzugreifen. Linux bietet mehrere Möglichkeiten, Benutzer zu sperren und zu entsperren:

Verwendung von 'passwd'

Verwende den Befehl passwd -l, um einen Benutzer zu sperren:

sudo passwd -l username

Um den gesperrten Benutzer zu entsperren, verwende passwd -u:

sudo passwd -u username

Verwendung von 'chage'

Der Befehl chage bietet eine weitere Möglichkeit, Benutzer zu sperren und zu entsperren:

sudo chage -E 0 username

Durch Festlegen von -E 0 wird das Ablaufdatum des Kennworts auf sofort gesetzt, wodurch der Benutzer gesperrt wird. Um den Benutzer zu entsperren, setze -E auf einen zukünftigen Zeitpunkt:

sudo chage -E <Zukünftiges Datum> username

Verwendung von 'usermod'

Du kannst auch usermod verwenden, um einen Benutzer zu sperren:

sudo usermod -L username

Und um ihn zu entsperren:

sudo usermod -U username

Häufige Fragen

Wann sollte ich einen Benutzer sperren?

  • Wenn der Benutzer verdächtigt wird, das System kompromittiert zu haben.
  • Wenn der Benutzer das System für schädliche Zwecke verwendet hat.
  • Wenn du den Benutzer vorübergehend vom Zugriff auf das System ausschließen musst.

Was passiert, wenn ein Benutzer gesperrt ist?

  • Der Benutzer kann sich nicht am System anmelden.
  • Der Benutzer kann keine Befehle ausführen oder auf Dateien zugreifen.
  • Alle vom Benutzer gestarteten Prozesse werden beendet.

Kann ich einen Benutzer dauerhaft sperren?

Ja, du kannst einen Benutzer dauerhaft sperren, indem du sein Kennwort löschst:

sudo passwd -d username

Zusätzliche Optionen für erweiterte Konfiguration

Um die Benutzererstellung noch weiter anzupassen, stehen dir in 'useradd' eine Reihe erweiterter Optionen zur Verfügung. Diese Optionen ermöglichen dir, spezifische Anforderungen basierend auf deinen Sicherheits- und Konfigurationspräferenzen zu erfüllen.

Benutzerbeschreibung einrichten

Mit der Option -c kannst du eine Beschreibung für den neuen Benutzer festlegen. Diese Beschreibung wird normalerweise im Feld "Kommentar" der Benutzerinformationen angezeigt und kann zusätzliche Informationen wie den Namen oder die Funktion des Benutzers enthalten.

Syntax:

useradd -c "Beschreibung des Benutzers" <Benutzername>

Benutzerpasswort angeben

In bestimmten Szenarien musst du möglicherweise ein Passwort für den neuen Benutzer angeben. Verwende dazu die Option -p. Das Passwort wird verschlüsselt gespeichert.

Hinweis: Es wird empfohlen, ein sicheres Passwort zu wählen, das verschiedene Zeichenarten enthält.

Syntax:

useradd -p <verschlüsseltes Passwort> <Benutzername>

Benutzer deaktivierungsdatum festlegen

Um das Datum festzulegen, ab dem der Benutzer deaktiviert werden soll, nutze die Option -e. Dies ist hilfreich, wenn du Benutzerkonten zu einem bestimmten Zeitpunkt automatisch deaktivieren möchtest.

Syntax:

useradd -e <Deaktivierungsdatum im Format JJJJ-MM-TT> <Benutzername>

Standard-Login-Shell anpassen

Standardmäßig verwendet 'useradd' die Shell /bin/bash für neue Benutzer. Wenn du eine andere Login-Shell verwenden möchtest, z. B. /bin/zsh, kannst du dies mithilfe der Option -s festlegen.

Syntax:

useradd -s <Login-Shell> <Benutzername>

Benutzergruppen verwalten

Neben dem Hinzufügen von Benutzern zu Gruppen (wie im Abschnitt "Hinzufügen des Benutzers zu Gruppen" beschrieben) kannst du auch mit 'useradd' primäre und sekundäre Gruppen für den neuen Benutzer festlegen.

Primäre Gruppe:

Verwende die Option -g <Gruppenname> um die primäre Gruppe für den Benutzer festzulegen.

Sekundäre Gruppen:

Mit der Option -G <Gruppenname1>,<Gruppenname2>,... kannst du den Benutzer mehreren sekundären Gruppen hinzufügen.

Syntax:

useradd -g <primäre Gruppe> -G <sekundäre Gruppen> <Benutzername>

Heimatverzeichnis konfigurieren

In den Abschnitten "Erstellen eines Home-Verzeichnisses" und "Festlegen von Berechtigungen" hast du die Erstellung und Konfiguration des Heimatverzeichnisses des Benutzers behandelt. Wenn du weitere Anpassungen vornimmst möchtest, kannst du die folgenden Optionen verwenden:

Heimatverzeichnispfad festlegen:

Mit der Option -d <Heimatverzeichnispfad> kannst du einen benutzerdefinierten Pfad für das Heimatverzeichnis des Benutzers festlegen.

Heimatverzeichniskopie erstellen:

Um eine Kopie eines vorhandenen Heimatverzeichnisses für den neuen Benutzer zu erstellen, verwende die Option -m. Dies ist nützlich, wenn du Standardkonfigurationen oder Dateien für neue Benutzer einrichten möchtest.

Syntax:

useradd -d <Heimatverzeichnispfad> -m <Benutzername>

Zusätzliche Werkzeuge für die Benutzererstellung

Neben 'useradd' gibt es weitere Werkzeuge, die bei der Benutzererstellung verwendet werden können:

adduser:

'adduser' ist eine benutzerfreundlichere Alternative zu 'useradd' und bietet einen interaktiven Assistenten, der dich durch den Prozess der Benutzererstellung führt.

newusers:

'newusers' ist ein Skript, das die Konfigurationsdatei /etc/default/useradd auswertet und mehrere Benutzerkonten gleichzeitig erstellen kann.

Anpassen der Benutzer-Shell

Als Administrator kannst du die Standard-Shell für jeden Benutzer anpassen. Die Shell ist ein Befehlszeileninterpreter, der die Schnittstelle zwischen dem Betriebssystem und dem Benutzer darstellt. Die Wahl der Shell hängt von den persönlichen Vorlieben und Anforderungen des Benutzers ab.

Was ist eine Shell?

Eine Shell ist ein Programm, das Befehle entgegennimmt und sie an den Kernel zur Ausführung weiterleitet. Es bietet dir eine Schnittstelle zur Interaktion mit dem System und ermöglicht dir die Ausführung von Befehlen, die Verwaltung von Dateien und die Navigation im Dateisystem.

Standard-Shell

Unter Linux ist die Standard-Shell für neue Benutzer in der Regel /bin/bash, die Bourne-Again SHell. Dies ist eine vielseitige und leistungsstarke Shell, die für die meisten Benutzer geeignet ist.

Andere Shell-Optionen

Es gibt viele andere Shell-Optionen zur Auswahl, wie z. B.:

  • /bin/zsh: Die Z Shell, bekannt für ihre erweiterte Autovervollständigung und benutzerdefinierten Themen.
  • /bin/ksh: Die Korn Shell, eine leistungsstarke Shell, die oft für die Skripterstellung verwendet wird.
  • /bin/csh: Die C Shell, eine Shell, die der Programmiersprache C ähnelt.

Anpassen der Shell

Um die Shell eines Benutzers anzupassen, kannst du den Befehl chsh (Change Shell) verwenden. Der Befehl chsh erfordert Superuser-Berechtigungen, daher musst du dich als Root einloggen oder den Befehl mit sudo ausführen.

sudo chsh -s /bin/zsh username

Ersetze /bin/zsh durch den Pfad zur gewünschten Shell und username durch den Benutzernamen des Benutzers, dessen Shell du anpassen möchtest.

Nach dem Ausführen des Befehls chsh wird der Benutzer bei der nächsten Anmeldung aufgefordert, sein Passwort einzugeben und seine neue Shell auszuwählen.

Vorteile der Anpassung der Shell

Das Anpassen der Shell eines Benutzers kann mehrere Vorteile bieten, darunter:

  • Verbesserte Produktivität: Einige Shells bieten erweiterte Funktionen wie Autovervollständigung, benutzerdefinierte Befehle und Skriptunterstützung, die die Produktivität des Benutzers verbessern können.
  • Personalisierung: Die Wahl einer Shell, die den persönlichen Vorlieben des Benutzers entspricht, kann das Benutzererlebnis angenehmer machen.
  • Sicherheitserweiterungen: Einige Shells bieten zusätzliche Sicherheitserweiterungen, wie z. B. erweiterte Dateiberechtigungsverwaltung und integrierte Firewalls.

Verwenden von 'adduser' als Alternative zu 'useradd'

'adduser' ist eine Befehlszeilen-Schnittstelle, die eine vereinfachte Möglichkeit bietet, neue Benutzer auf Linux-Systemen zu erstellen. Sie baut auf dem Befehl 'useradd' auf und bietet eine benutzerfreundlichere Oberfläche mit zusätzlichen Funktionen.

Vorteile der Verwendung von 'adduser'

  • Einfachere Syntax: 'adduser' verwendet eine einfachere Syntax als 'useradd', wodurch es für Anfänger leichter zu verwenden ist.
  • Automatisierte Aufgaben: 'adduser' automatisiert Aufgaben wie das Erstellen eines Home-Verzeichnisses und das Festlegen von Berechtigungen, was den Prozess beschleunigen kann.
  • Gruppenmanagement: 'adduser' kann Benutzer einfach zu Gruppen hinzufügen, was die Verwaltung von Benutzerberechtigungen erleichtert.

Installieren von 'adduser'

Wenn 'adduser' nicht bereits auf deinem System installiert ist, kannst du es mit folgendem Befehl installieren:

sudo apt-get install adduser

Verwendung von 'adduser'

Um einen neuen Benutzer mit 'adduser' zu erstellen, verwendest du folgende Syntax:

adduser [Optionen] Benutzername

Optionen:

  • -h, --help: Zeigt die Hilfe an
  • -u, --uid: Legt die UID des Benutzers fest
  • -g, --gid: Legt die GID des Benutzers fest
  • -d, --home: Legt das Home-Verzeichnis des Benutzers fest
  • -s, --shell: Legt die Standard-Shell des Benutzers fest
  • -p, --password: Legt das Passwort des Benutzers fest (nicht empfohlen)

Beispiel

Um einen neuen Benutzer namens "john" zu erstellen, der zur Gruppe "users" gehört, würdest du folgenden Befehl verwenden:

sudo adduser john -g users

Du kannst 'adduser' auch zum Verwalten bestehender Benutzer verwenden, z. B. zum Ändern des Passworts oder zum Hinzufügen zu Gruppen. Weitere Informationen findest du in der Manpage von 'adduser' (man adduser).

Folge uns

Neue Posts

Beliebte Posts