Nach der Bestellung eines Servers melden Sie sich als Benutzer root an, der keinerlei Einschränkungen hat. Für die ersten Schritte ist das bequem, ständig so zu arbeiten ist jedoch unsicher, und wenn mehrere Personen den Server nutzen, braucht jede ein eigenes Benutzerkonto. In diesem Artikel sehen wir uns an, wie Benutzer und Gruppen unter Linux aufgebaut sind, wie Sie einen Benutzer anlegen, ihm über sudo Administratorrechte geben, die Liste der Benutzer anzeigen und überflüssige löschen. Alle Befehle haben wir auf einem Testserver mit Debian 12 geprüft.
Wie Benutzer und Gruppen aufgebaut sind
Linux wurde von Anfang an als System entwickelt, an dem viele Menschen gleichzeitig arbeiten, deshalb wird jede Aktion darin im Namen eines bestimmten Benutzers ausgeführt. Für das System ist ein Benutzer vor allem eine Zahl, die UID. Ein Name wie ivan ist für Menschen gedacht, der Kernel prüft die Rechte dagegen anhand der Nummer. Der Benutzer mit der UID 0 heißt root, und der Kernel erlaubt ihm alles, unabhängig von den Rechten an Dateien. Gewöhnliche Benutzer erhalten unter Debian und Ubuntu Nummern ab 1000, die Nummern darunter sind von Dienstkonten belegt. Unter ihnen laufen Programme, zum Beispiel ein Webserver oder eine Datenbank, und anmelden kann man sich mit ihnen am Server nicht.
Die Angaben zu den Benutzern werden in gewöhnlichen Textdateien gespeichert. In /etc/passwd sind für jeden Benutzer der Name, die UID, die Nummer der primären Gruppe, das Home-Verzeichnis und die Shell eingetragen, die bei der Anmeldung gestartet wird. Die Passwörter liegen getrennt davon in der Datei /etc/shadow, und zwar nicht die Passwörter selbst, sondern ihre Hashes, und lesen kann diese Datei nur root. Diese Trennung ist entstanden, weil /etc/passwd für alle Programme lesbar sein muss, die Hashes der Passwörter aber nicht jedem gezeigt werden dürfen.
Gruppen ermöglichen es, Rechte nicht jedem Benutzer einzeln, sondern mehreren auf einmal zu vergeben. Angenommen, der Ordner mit einer Website soll für drei Entwickler beschreibbar sein. Statt die Rechte für jeden von ihnen einzurichten, fügt man sie einer gemeinsamen Gruppe hinzu und gibt dieser Gruppe die Rechte. Auf dieselbe Weise werden unter Debian und Ubuntu Administratorrechte vergeben. Alle Mitglieder der Gruppe sudo können Befehle im Namen von root ausführen, wenn sie ihnen das Wort sudo voranstellen und ihr eigenes Passwort eingeben. Genau das ist der Hauptgrund, einen eigenen Benutzer anzulegen. Sie arbeiten mit gewöhnlichen Rechten und beschädigen das System nicht durch einen versehentlichen Befehl, und wenn wirklich etwas geändert werden muss, schreiben Sie bewusst sudo davor. Außerdem bleibt im Protokoll ein Eintrag darüber, wer welchen Befehl mit Administratorrechten ausgeführt hat.
Was Sie brauchen
- Eine SSH-Verbindung zum Server als Benutzer
root, zum Beispiel über Termius. - Einen Server mit Debian oder Ubuntu. Die Befehle
adduserunddeluseraus diesem Artikel gibt es nur in diesen Systemen, für die übrigen nennen wir einen Ersatz.
1. Legen Sie einen Benutzer an
Unter Debian und Ubuntu ist der Befehl adduser am bequemsten. Er legt selbst das Home-Verzeichnis an, kopiert die Standardeinstellungen hinein und fragt nach dem Passwort.
adduser ivanDer Befehl bittet Sie, das Passwort zweimal einzugeben. Die Zeichen werden bei der Eingabe nicht angezeigt, das ist normal. Danach schlägt er vor, den vollständigen Namen, die Zimmernummer und Telefonnummern anzugeben. Diese Felder können Sie leer lassen, indem Sie einfach Enter drücken, und am Ende bestätigen Sie die Angaben mit Y.

adduser hat den Benutzer, die Gruppe und das Home-Verzeichnis angelegt
Wenn es den Befehl adduser nicht gibt
In anderen Distributionen, zum Beispiel AlmaLinux oder Rocky Linux, legt man Benutzer mit dem Befehl useradd an, und das Passwort wird separat gesetzt. Der Parameter -m legt das Home-Verzeichnis an, und -s legt die Shell fest.
useradd -m -s /bin/bash ivan
passwd ivan2. Vergeben Sie sudo-Rechte
Auf unseren Servern mit Debian 12 ist das Programm sudo standardmäßig nicht installiert, deshalb installieren Sie es zuerst. Wenn es den Befehl sudo auf Ihrem Server bereits gibt, können Sie diesen Schritt überspringen.
apt update && apt install -y sudoFügen Sie den Benutzer jetzt der Gruppe sudo hinzu und prüfen Sie, ob er tatsächlich darin ist.
usermod -aG sudo ivan
id ivanIn der Ausgabe des Befehls id sollte in der Liste groups die Gruppe 27(sudo) erscheinen. Um sicherzugehen, dass die Rechte funktionieren, wechseln Sie zum neuen Benutzer und führen Sie einen beliebigen Befehl über sudo aus.
su - ivan
sudo whoamisudo fragt nach dem Passwort des Benutzers ivan, nicht nach dem von root. Wenn der Befehl root ausgegeben hat, hat der Benutzer Administratorrechte. Zurück zu root gelangen Sie mit dem Befehl exit.

Der Benutzer ist in der Gruppe sudo, der Befehl wurde im Namen von root ausgeführt
Jetzt können Sie sich als neuer Benutzer per SSH mit dem Server verbinden, zum Beispiel mit ssh ivan@IP_DES_SERVERS. Wir haben geprüft, dass die Anmeldung mit Passwort auf unserem Image von Debian 12 sofort funktioniert. Mehr über Gruppen und darüber, wie Sie einen Benutzer aus sudo entfernen, erfahren Sie im Artikel über den Befehl usermod.
Der nächste Schritt für mehr Sicherheit
Wenn die Anmeldung als neuer Benutzer funktioniert, richten Sie für ihn die Anmeldung per SSH-Schlüssel ein und verbieten Sie die Anmeldung als root. Wie das geht, erfahren Sie im Artikel über SSH-Schlüssel.
3. Sehen Sie nach, welche Benutzer es auf dem Server gibt
Die vollständige Liste der Benutzerkonten steht in /etc/passwd, dort sind neben den Menschen aber auch Dutzende Dienstbenutzer aufgeführt. Um nur die gewöhnlichen zu sehen, wählen Sie die Zeilen mit einer UID ab 1000 aus.
# Name, UID, Home-Verzeichnis und Shell der gewöhnlichen Benutzer
awk -F: '$3>=1000 && $3<65534 {print $1, $3, $6, $7}' /etc/passwd
# Wer zur Gruppe sudo gehört
getent group sudo
Auf dem Server gibt es zwei gewöhnliche Benutzer, sudo-Rechte hat nur ivan
Noch einige nützliche Befehle.
# Gruppen des Benutzers
groups ivan
# Wer gerade mit dem Server verbunden ist
who
# Verlauf der Anmeldungen am Server
last -n 104. Ändern Sie das Passwort eines Benutzers
Root kann jedem Benutzer ein neues Passwort setzen. Ein gewöhnlicher Benutzer ändert sein eigenes Passwort mit demselben Befehl ohne Namen.
# Passwort für den Benutzer ivan
passwd ivan
# Eigenes Passwort
passwd5. Löschen Sie einen Benutzer
Der Befehl deluser mit dem Parameter --remove-home löscht den Benutzer zusammen mit seinem Home-Verzeichnis und seinen cron-Aufgaben.
deluser --remove-home anna
Der Benutzer und sein Home-Verzeichnis wurden gelöscht
In Systemen ohne deluser verwendet man userdel -r anna. Wenn Sie einem Benutzer nur die Administratorrechte entziehen möchten, müssen Sie ihn nicht löschen. Es genügt, ihn aus der Gruppe sudo zu entfernen.
deluser ivan sudoSichern Sie vor dem Löschen die benötigten Dateien
--remove-home löscht unwiderruflich alles, was im Verzeichnis /home/name liegt. Wenn dort noch Projekte oder Schlüssel liegen, kopieren Sie sie zuerst.
Häufige Fragen
sudo: command not found
Das Programm sudo ist nicht installiert. Führen Sie als root den Befehl apt install -y sudo aus. Wenn Sie bereits als gewöhnlicher Benutzer arbeiten, wechseln Sie zuerst mit dem Befehl su - zu root und geben Sie das Passwort von root ein.
ivan is not in the sudoers file
Der Benutzer gehört nicht zur Gruppe sudo. Fügen Sie ihn als root mit dem Befehl usermod -aG sudo ivan hinzu. Die Änderung wird erst nach einer neuen Anmeldung wirksam, deshalb muss sich der Benutzer abmelden und erneut verbinden.
Worin sich su und sudo unterscheiden
su - name wechselt vollständig zu einem anderen Benutzer und fragt nach dessen Passwort. sudo befehl führt einen einzelnen Befehl im Namen von root aus und fragt nach Ihrem Passwort. Deshalb müssen Sie für die Arbeit mit sudo niemandem das Passwort von root mitteilen, und die Anmeldung als root selbst lässt sich sogar ganz verbieten.
Der Benutzer kann sich nicht per SSH verbinden
- Prüfen Sie mit dem Befehl
passwd -S ivan, ob ein Passwort gesetzt ist. In der zweiten Spalte solltePstehen. - Prüfen Sie, ob der Benutzer eine gewöhnliche Shell hat und nicht
/usr/sbin/nologin. Sie steht im letzten Feld der Zeile des Benutzers in/etc/passwd. - Wenn in den SSH-Einstellungen die Anmeldung per Passwort deaktiviert ist, braucht der Benutzer einen SSH-Schlüssel.
Unsere Ressourcen
Telegram-Kanal: https://t.me/f3cloud_news
Hosting-Website: https://f3cloud.com