Linux Benutzer- und Rechteverwaltung: sudo und Gruppen
Linux-Benutzerverwaltung mit useradd/usermod/userdel, Gruppenverwaltung, sudo-Konfiguration, SSH-schlüsselbasierte Authentifizierung und das Prinzip der minimalen Rechte.
Inhaltsverzeichnis
Linux Benutzer- und Rechteverwaltung: sudo und Gruppen
Benutzer- und Rechteverwaltung in Linux ist ein Grundpfeiler der Serversicherheit. Richtig konfigurierte Benutzerkonten und Berechtigungen verhindern unbefugten Zugriff und begrenzen die Auswirkungen von Sicherheitsverletzungen. Diese Anleitung behandelt Linux-Benutzerverwaltung, Gruppenstruktur, sudo-Konfiguration und SSH-schlüsselbasierte Authentifizierung.
Benutzerverwaltung
Benutzer erstellen
# Einfachen Benutzer erstellen
sudo useradd benutzername
# Benutzer mit Home-Verzeichnis erstellen
sudo useradd -m benutzername
# Mit Home-Verzeichnis, Shell und Kommentar
sudo useradd -m -s /bin/bash -c "Vor- und Nachname" benutzername
# Mit bestimmter UID
sudo useradd -m -u 1500 benutzername
# Mit primärer Gruppe
sudo useradd -m -g www-data benutzername
# Passwort setzen
sudo passwd benutzername
# Benutzerinformationen anzeigen
id benutzername
getent passwd benutzername
Benutzer bearbeiten
# Benutzernamen ändern
sudo usermod -l neuer_name alter_name
# Home-Verzeichnis ändern
sudo usermod -d /neues/home -m benutzername
# Shell ändern
sudo usermod -s /bin/bash benutzername
# Konto sperren
sudo usermod -L benutzername
# Konto entsperren
sudo usermod -U benutzername
# Ablaufdatum setzen
sudo usermod -e 2025-12-31 benutzername
# Passwortänderung beim nächsten Login erzwingen
sudo chage -d 0 benutzername
Benutzer löschen
# Benutzer löschen (Home-Verzeichnis bleibt)
sudo userdel benutzername
# Benutzer und Home-Verzeichnis löschen
sudo userdel -r benutzername
# Dateien des Benutzers finden
find / -user benutzername 2>/dev/null
Gruppenverwaltung
# Gruppe erstellen
sudo groupadd entwickler
# Benutzer zur Gruppe hinzufügen
sudo usermod -aG entwickler benutzername
# Zu mehreren Gruppen hinzufügen
sudo usermod -aG gruppe1,gruppe2,gruppe3 benutzername
# Gruppen des Benutzers anzeigen
groups benutzername
id benutzername
# Benutzer in einer Gruppe auflisten
getent group entwickler
# Benutzer aus Gruppe entfernen
sudo gpasswd -d benutzername entwickler
# Gruppe löschen
sudo groupdel entwickler
# Gruppe umbenennen
sudo groupmod -n neuer_name alter_name
sudo-Konfiguration
sudo-Zugriff gewähren
# Benutzer zur sudo-Gruppe hinzufügen (Debian/Ubuntu)
sudo usermod -aG sudo benutzername
# Benutzer zur wheel-Gruppe hinzufügen (RHEL/CentOS)
sudo usermod -aG wheel benutzername
# Änderung testen
su - benutzername
sudo whoami # sollte root ausgeben
sudoers-Datei konfigurieren
# sudoers-Datei sicher bearbeiten
sudo visudo
# /etc/sudoers Inhalt
# Vollständiger sudo-Zugriff für Benutzer
benutzername ALL=(ALL:ALL) ALL
# Passwortloser sudo (mit Vorsicht verwenden)
benutzername ALL=(ALL) NOPASSWD: ALL
# sudo nur für bestimmte Befehle
benutzername ALL=(ALL) /usr/bin/systemctl, /usr/bin/apt
# sudo-Zugriff für eine Gruppe
%entwickler ALL=(ALL:ALL) ALL
# Passwortlos für bestimmten Befehl
benutzername ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx
# Separate Datei erstellen (empfohlene Methode)
sudo nano /etc/sudoers.d/benutzername
# Dateiinhalt
benutzername ALL=(ALL:ALL) ALL
# Dateiberechtigungen setzen
sudo chmod 440 /etc/sudoers.d/benutzername
Dateiberechtigungen
# Berechtigungen anzeigen
ls -la /verzeichnis/
# Berechtigungen ändern (numerisch)
chmod 755 skript.sh # rwxr-xr-x
chmod 644 datei.txt # rw-r--r--
chmod 600 geheim.key # rw-------
# Berechtigungen ändern (symbolisch)
chmod u+x skript.sh # Ausführen für Eigentümer hinzufügen
chmod g-w datei.txt # Schreiben von Gruppe entfernen
chmod o-r geheim.txt # Lesen von anderen entfernen
# Eigentümerschaft ändern
chown benutzername datei.txt
chown benutzername:gruppe datei.txt
# Verzeichnis und Inhalt rekursiv ändern
chown -R benutzername:gruppe /verzeichnis/
SSH-schlüsselbasierte Authentifizierung
SSH-Schlüsselpaar generieren
# Schlüssel auf lokalem Rechner generieren
ssh-keygen -t ed25519 -C "email@example.com"
# RSA-Schlüssel (für ältere Systeme)
ssh-keygen -t rsa -b 4096 -C "email@example.com"
# Schlüssel werden in ~/.ssh/ erstellt:
# ~/.ssh/id_ed25519 (privater Schlüssel)
# ~/.ssh/id_ed25519.pub (öffentlicher Schlüssel)
Öffentlichen Schlüssel auf Server kopieren
# Mit ssh-copy-id (einfachste Methode)
ssh-copy-id benutzer@server_ip
# Manuelle Kopie
cat ~/.ssh/id_ed25519.pub | ssh benutzer@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
# Manuelle Einrichtung auf Server
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys # öffentlichen Schlüssel einfügen
chmod 600 ~/.ssh/authorized_keys
SSH-Sicherheitskonfiguration
sudo nano /etc/ssh/sshd_config
# Passwort-Authentifizierung deaktivieren (nach Schlüssel-Einrichtung)
PasswordAuthentication no
# Root-Login deaktivieren
PermitRootLogin no
# Leere Passwörter nicht erlauben
PermitEmptyPasswords no
# Maximale Login-Versuche
MaxAuthTries 3
# Bestimmte Benutzer erlauben
AllowUsers benutzer1 benutzer2
# Bestimmte Gruppe erlauben
AllowGroups ssh-users
# SSH-Dienst neu starten
sudo systemctl restart sshd
# Konfiguration testen
sudo sshd -t
Prinzip der minimalen Rechte
Das Prinzip der minimalen Rechte besagt, dass jeder Benutzer und Prozess nur die Mindestberechtigungen haben sollte, die zur Erfüllung seiner Aufgabe erforderlich sind.
# Dedizierten Benutzer für Anwendung erstellen (ohne Shell)
sudo useradd -r -s /usr/sbin/nologin -d /var/lib/myapp myapp_user
# Home-Verzeichnis für Dienstbenutzer erstellen
sudo mkdir -p /var/lib/myapp
sudo chown myapp_user:myapp_user /var/lib/myapp
sudo chmod 750 /var/lib/myapp
Vermeiden Sie die direkte Verwendung des Root-Kontos. Erstellen Sie für jeden Administrator ein separates Konto und autorisieren Sie über sudo. So sind alle Aktionen protokolliert und nachverfolgbar.
Benutzeraktivität überwachen
# Letzte Anmeldungen anzeigen
last
lastlog
# Fehlgeschlagene Anmeldeversuche anzeigen
lastb
# Aktive Benutzer anzeigen
who
w
# sudo-Nutzung überwachen
sudo grep sudo /var/log/auth.log
Fazit
Linux-Benutzer- und Rechteverwaltung bildet die Grundlage der Serversicherheit. Gewähren Sie jedem Benutzer nur die benötigten Berechtigungen, verwenden Sie SSH-schlüsselbasierte Authentifizierung und schränken Sie den Root-Zugriff ein. Diese Praktiken schützen Ihre REXE-Server vor unbefugtem Zugriff.
Verwandte Artikel
VDS-Server per SSH verbinden: PuTTY, Terminal & Schlüssel
SSH-Verbindung zum Linux VDS-Server: PuTTY, Terminal, schlüsselbasierte Authentifizierung, Path Panel Firewall-Regel und Sicherheitstipps für Einsteiger.
Windows VDS per RDP verbinden: Vollständige Anleitung
Schritt-für-Schritt-Anleitung zur RDP-Verbindung mit Windows Server VDS: Einrichtung, NLA-Sicherheit, Path Panel Firewall-Regel und Fehlerbehebung.
VDS-Server Betriebssystem wechseln: Schritt-für-Schritt
Betriebssystemwechsel am VDS-Server über das REXE-Panel: Backup-Tipps, unterstützte Linux-Distributionen und Windows Server Versionen im Überblick.