Harting Development

Anlegen von Linux-Benutzern: Ein umfassender Leitfaden

Lukas Fuchs vor 7 Monaten in  Sicherheit 3 Minuten Lesedauer

Voraussetzungen zum Anlegen von Linux-Benutzern

Bevor du Linux-Benutzer anlegst, ist es wichtig, einige grundlegende Voraussetzungen zu erfüllen:

Berechtigungen

Zum Anlegen von Linux-Benutzern benötigst du administrative Berechtigungen. Dies bedeutet, dass du ein Benutzer mit Root-Rechten sein oder einem Benutzer angehören musst, dem diese Aufgabe delegiert wurde.

Kenntnisse der Befehlszeile

Das Anlegen von Benutzern erfolgt hauptsächlich über die Befehlszeile. Daher solltest du mit grundlegenden Befehlen der Befehlszeile und ihrer Syntax vertraut sein.

Verständnis der Benutzerverwaltung

Du solltest die grundlegenden Konzepte der Benutzerverwaltung in Linux verstehen, einschließlich Benutzerkennwörtern, Gruppen und Berechtigungen. Dies wird dir helfen, Benutzer effektiv zu verwalten und die Systemsicherheit sicherzustellen.

Planung und Dokumentation

Bevor du Benutzer anlegst, solltest du dir über Folgendes im Klaren sein:

  • Welche Art von Benutzern du anlegst (z. B. reguläre Benutzer, Systemadministratoren)
  • Welche Berechtigungen sie benötigen
  • Welche Gruppen sie benötigen
  • Welche Kennwortrichtlinien gelten

Eine gute Planung und Dokumentation hilft dir, Fehler zu vermeiden und ein konsistentes System zu pflegen.

Befehle zum Anlegen von Linux-Benutzern

Der Befehl useradd

Der Befehl useradd ist das Standardtool zum Anlegen neuer Benutzer in Linux. Er erstellt einen neuen Benutzer mit den angegebenen Parametern.

Syntax:

useradd [Optionen] Benutzername

Optionen:

  • -c "Kommentar": Legt einen Kommentar zum Benutzer fest.
  • -d Verzeichnis: Legt das Home-Verzeichnis des Benutzers fest. Standardmäßig wird ein Verzeichnis im Format /home/Benutzername erstellt.
  • -g Gruppenname: Legt die Primärgruppe des Benutzers fest.
  • -G Gruppenliste: Fügt den Benutzer zu einer oder mehreren zusätzlichen Gruppen hinzu.
  • -m: Erstellt das Home-Verzeichnis des Benutzers, falls es noch nicht existiert.
  • -s Shell: Legt die Standard-Shell des Benutzers fest. Standardmäßig ist dies /bin/bash.
  • -u UID: Legt die Benutzer-ID (UID) des Benutzers fest. Standardmäßig wird eine eindeutige UID zugewiesen.

Der Befehl adduser

Der Befehl adduser ist eine benutzerfreundlichere Alternative zu useradd und bietet eine interaktive Oberfläche.

Syntax:

adduser [Optionen] Benutzername

Optionen:

  • -h: Legt das Home-Verzeichnis des Benutzers fest.
  • -g Gruppenname: Legt die Primärgruppe des Benutzers fest.
  • -G Gruppenliste: Fügt den Benutzer zu einer oder mehreren zusätzlichen Gruppen hinzu.
  • -s Shell: Legt die Standard-Shell des Benutzers fest.

Unterschiede zwischen useradd und adduser

  • useradd ist ein Befehlszeilentool, während adduser eine interaktive Oberfläche bietet.
  • useradd bietet mehr Optionen zur Konfiguration von Benutzerparametern.
  • adduser erstellt standardmäßig das Home-Verzeichnis des Benutzers.

Festlegen von Benutzerkennwörtern

Nachdem du einen neuen Benutzer angelegt hast, musst du ein Kennwort dafür festlegen. Hierzu verwendest du den Befehl passwd.

Syntax:

passwd Benutzername

Konfigurieren von Benutzerkennwörtern und anderen Einstellungen

Benutzerkennwörter konfigurieren

Sobald du einen Benutzer angelegt hast, ist es wichtig, ein sicheres Passwort für ihn festzulegen. Dies kannst du mit dem Befehl passwd tun, gefolgt vom Benutzernamen:

$ passwd benutzername

Du wirst aufgefordert, ein neues Passwort einzugeben und es zu bestätigen.

Kennwortrichtlinien

Du kannst auch Kennwortrichtlinien festlegen, um die Sicherheit der Kennwörter deiner Benutzer zu erhöhen. Dies kann mit dem Befehl chage erfolgen. Beispielsweise kannst du die Mindes länge des Kennworts festlegen:

$ chage -m 10 benutzername

Dies legt die Mindestlänge des Kennworts für den Benutzer benutzername auf 10 Zeichen fest.

Konfigurieren anderer Einstellungen

Neben dem Kennwort kannst du auch andere Einstellungen für deine Benutzer konfigurieren, darunter:

  • Shell: Die Shell, die der Benutzer verwenden soll, z. B. /bin/bash oder /bin/zsh.
  • Heimatverzeichnis: Das Verzeichnis, das als Heimatverzeichnis des Benutzers dient.
  • Gruppenmitgliedschaften: Die Gruppen, zu denen der Benutzer gehört.

Diese Einstellungen kannst du mit dem Befehl usermod konfigurieren. Beispielsweise kannst du die Shell des Benutzers benutzername auf /bin/zsh festlegen:

$ usermod -s /bin/zsh benutzername

Konfigurationsdateien bearbeiten

Du kannst auch Textkonfigurationsdateien bearbeiten, um Benutzerinformationen zu konfigurieren, z. B.:

  • /etc/passwd: Enthält Informationen zu allen Benutzern auf dem System.
  • /etc/shadow: Enthält verschlüsselte Kennwörter für alle Benutzer.
  • /etc/group: Enthält Informationen zu allen Gruppen auf dem System.

Beim Bearbeiten dieser Dateien ist jedoch Vorsicht geboten, da sie für die ordnungsgemäße Funktion des Systems unerlässlich sind.

Verwalten von Benutzergruppen und Berechtigungen

Als Systemadministrator kannst du Benutzergruppen erstellen und verwalten, um den Zugriff auf Ressourcen und Befehle zu steuern. Benutzer können dann diesen Gruppen zugewiesen werden, sodass du Berechtigungen auf Gruppenebene erteilen kannst, anstatt sie einzeln für jeden Benutzer einzustellen.

Erstellen und Verwalten von Benutzergruppen

Verwende den Befehl groupadd zum Erstellen einer neuen Gruppe. Du kannst auch die Option -g verwenden, um eine bestimmte Gruppen-ID festzulegen.

groupadd -g 1000 marketing

Um eine Gruppe zu löschen, verwende den Befehl groupdel.

groupdel marketing

Hinzufügen und Entfernen von Benutzern aus Gruppen

Verwende den Befehl usermod mit der Option -g, um einen Benutzer einer Gruppe hinzuzufügen.

usermod -g marketing jdoe

Um einen Benutzer aus einer Gruppe zu entfernen, verwende die Option -g zusammen mit dem leeren Wert.

usermod -g "" jdoe

Gruppenspezifische Berechtigungen festlegen

Du kannst die Berechtigungen für eine Gruppe mit dem Befehl setfacl festlegen. Beispielsweise kannst du der Gruppe marketing Lese- und Schreibberechtigungen für das Verzeichnis /var/www/html erteilen:

setfacl -m g:marketing:rw /var/www/html

Zugriffssteuerungslisten (ACLs)

Zusätzlich zu den traditionellen Gruppenberechtigungen kannst du auch Zugriffssteuerungslisten (ACLs) verwenden, um Berechtigungen auf granulare Weise zu verwalten. ACLs ermöglichen es dir, Berechtigungen für einzelne Benutzer oder Gruppen zu erteilen oder zu verweigern.

Um ACLs zu verwalten, kannst du das Hilfsprogramm getfacl verwenden, das mit dem Paket acl installiert werden kann.

Bewährte Praktiken für die Gruppenverwaltung

  • Erstelle Gruppen für verwandte Aufgaben oder Zugriffsanforderungen.
  • Weise Benutzer nur den Gruppen zu, die sie benötigen.
  • Verwende ACLs für eine präzisere Kontrolle der Berechtigungen.
  • Überprüfe regelmäßig die Gruppenmitgliedschaften und Berechtigungen.

Tipps und Best Practices zum Anlegen von Benutzern

Beim Anlegen von Benutzern in Linux gibt es einige wichtige Tipps und Best Practices zu beachten, um die Sicherheit und Effizienz zu gewährleisten.

Erstellen sicherer Kennwörter

  • Verwende immer starke Kennwörter, die eine Mindestlänge haben und eine Kombination aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthalten.
  • Vermeide die Verwendung von leicht zu erratenden Kennwörtern wie "Passwort" oder persönlichen Informationen.
  • Erwäge die Verwendung eines Passwort-Managers, um sichere Kennwörter zu generieren und zu speichern.

Verwendung von Benutzergruppen

  • Ordne Benutzer zu Gruppen zu, um die Verwaltung von Berechtigungen zu vereinfachen.
  • Erstelle separate Gruppen für verschiedene Benutzerrollen, z. B. Administratoren, Benutzer und Gäste.
  • Verwende die Befehl groupadd zum Erstellen neuer Gruppen und usermod zum Hinzufügen von Benutzern zu Gruppen.

Beschränkung des Root-Zugriffs

  • Vermeide es, dich als Root anzumelden, da dies ein Sicherheitsrisiko darstellt.
  • Verwende stattdessen den Befehl sudo zum Ausführen von Befehlen mit Administratorrechten.
  • Erwäge die Verwendung eines Tools wie sudoers, um den sudo-Zugriff für bestimmte Benutzer einzuschränken.

Dokumentieren von Benutzerkonten

  • Führe ein Protokoll über erstellte Benutzerkonten, einschließlich Benutzername, Kennwort und Gruppenzugehörigkeit.
  • Verwende Tools wie lastlog und who, um Benutzeraktivitäten zu überwachen.
  • Implementiere Mechanismen zur regelmäßigen Überprüfung und Bereinigung inaktiver Benutzerkonten.

Automatisierung des Benutzererstellungsprozesses

  • Erwäge die Verwendung von Skripten oder Tools wie Ansible oder Puppet, um das Anlegen von Benutzern zu automatisieren.
  • Dies kann Zeit sparen und Fehler reduzieren, insbesondere wenn eine große Anzahl von Benutzern erstellt werden muss.
  • Überprüfe sorgfältig die Konfiguration deiner Automatisierungsskripte, um Sicherheitsprobleme zu vermeiden.

Fehlerbehebung bei Problemen beim Anlegen von Benutzern

Beim Anlegen von Benutzern können verschiedene Probleme auftreten. Hier findest du einige häufige Fehler und ihre entsprechenden Lösungen:

Benutzer kann nicht angelegt werden

Ursache: Der Benutzername ist bereits vergeben.

Lösung: Verwende einen anderen, eindeutigen Benutzernamen.

Ursache: Du hast nicht die erforderlichen Berechtigungen, um Benutzer anzulegen.

Lösung: Stelle sicher, dass du als Root-Benutzer oder mit erhöhten Berechtigungen angemeldet bist.

Benutzer kann sich nicht anmelden

Ursache: Das Kennwort ist falsch.

Lösung: Setze das Kennwort des Benutzers zurück oder fordere den Benutzer auf, sein Kennwort zurückzusetzen.

Ursache: Der Benutzer ist deaktiviert.

Lösung: Aktiviere den Benutzer mit dem Befehl usermod -U username.

Ursache: Der Benutzer hat keine Shell zugewiesen.

Lösung: Weise dem Benutzer eine Shell zu, indem du usermod -s /bin/bash username verwendest.

Benutzer hat keine Berechtigungen

Ursache: Der Benutzer ist nicht Mitglied der richtigen Gruppe.

Lösung: Füge den Benutzer der entsprechenden Gruppe hinzu, indem du usermod -G groupname username verwendest.

Ursache: Dem Benutzer wurde der Zugriff auf die erforderlichen Ressourcen verweigert.

Lösung: Überprüfe die Dateiberechtigungen und ACLs und passe sie bei Bedarf an.

Fortgeschrittene Techniken zum Anlegen von Benutzern (z. B. Skripte und Automatisierung)

Neben der manuellen Erstellung von Benutzern über die Befehlszeile kannst du auch fortgeschrittenere Techniken verwenden, um den Prozess zu automatisieren und zu vereinfachen.

Benutzeranlegung mit Skripten

Du kannst Bash-Skripte erstellen, um Benutzer in Massen anzulegen. Dies ist nützlich, wenn du viele Benutzer auf einmal erstellen musst, z. B. für ein neues Projekt oder ein IT-Audit.

Ein Beispielskript könnte wie folgt aussehen:

#!/bin/bash

# Benutzername und Passwort einlesen
read -p "Benutzername: " username
read -p "Passwort: " password

# Benutzer anlegen
useradd -m -s /bin/bash $username

# Passwort festlegen
echo "$password" | passwd $username --stdin

# Benutzer zur Gruppe "users" hinzufügen
usermod -aG users $username

Automatisierung der Benutzerverwaltung

Wenn du Benutzerverwaltungsaufgaben häufig durchführst, kannst du Automatisierungstools wie Ansible oder Puppet verwenden. Diese Tools ermöglichen es dir, komplexe Konfigurationen und Bereitstellungsprozesse zu definieren, einschließlich der automatischen Benutzererstellung und -verwaltung.

Best Practices für die automatisierte Benutzerverwaltung

  • Verwende eine sichere Methode zur Kennwortverwaltung, z. B. HashiCorp Vault oder Thycotic Secret Server.
  • Dokumentiere alle Skripte oder Automatisierungsaufgaben gründlich.
  • Teste Skripte und Automatisierungsjobs gründlich, bevor du sie in einer Live-Umgebung einssetzt.
  • Überwache Benutzerverwaltungsprozesse regelmäßig auf verdächtige Aktivitäten.

Folge uns

Neue Posts

Beliebte Posts