Benutzer anlegen und sudo-Rechte unter Linux vergeben

Linux 3 Min. Lesezeit

Mit dem Root-Benutzer werden alle Vorgänge ohne Einschränkungen ausgeführt, sodass bereits ein falsch eingegebener Befehl oder ein geknacktes Passwort schwerwiegenden Schaden anrichten kann (siehe: Root-Zugriff: Was bedeutet das und welche Verantwortung ist damit verbunden?). Es wird daher empfohlen, mit einem eigenen Benutzer zu arbeiten und die Berechtigungen nur für Systemadministrationsaufgaben befehlsweise mit „sudo“ zu erweitern.

Führen Sie die folgenden Schritte als Root-Benutzer aus. In den Beispielen lautet der Benutzername „janos“; ersetzen Sie diesen bitte durch Ihren eigenen.

1. Anlegen eines Benutzers

AlmaLinux, Rocky Linux:

useradd -m janos
passwd janos

Der Befehl „-m“ erstellt das Home-Verzeichnis des Benutzers (/home/janos), während der Befehl „passwd“ zur Eingabe des neuen Passworts auffordert.

Ubuntu, Debian:

adduser janos

Der Befehl „adduser“ erstellt auch das Verzeichnis und fragt sofort nach dem Passwort sowie einigen optionalen Angaben (Name, Telefonnummer), die Sie mit der Eingabetaste überspringen können.

2. Sudo-Berechtigung erteilen

Das sudo-Recht kann durch die Aufnahme in die entsprechende Gruppe gewährt werden. Der Name der Gruppe variiert je nach Distribution:

# AlmaLinux, Rocky Linux
usermod -aG wheel janos

# Ubuntu, Debian
usermod -aG sudo janos

Der Schalter „-a“ ist wichtig: Ohne ihn würde der Benutzer aus allen anderen Gruppen entfernt werden.

Sollte der Befehl „sudo“ unter Debian nicht vorhanden sein, installieren Sie ihn bitte zunächst (siehe: Ubuntu/Debian – Behebung des Fehlers „sudo: command not found“).

3. Überprüfung

Wechseln Sie zum neuen Benutzer und probieren Sie den Befehl „sudo“ aus:

su - janos
sudo whoami

Beim ersten „sudo“-Befehl fordert das System das eigene Passwort des Benutzers an (nicht das Root-Passwort). Wenn die Ausgabe „root“ lautet, funktioniert die Konfiguration. Mit dem Befehl „exit“ können Sie zum Root-Benutzer zurückkehren.

4. Kopieren des SSH-Schlüssels

Wenn Sie sich als Root-Benutzer mit einem SSH-Schlüssel anmelden, muss dieser Schlüssel auch für den neuen Benutzer eingerichtet werden. Am einfachsten ist es, wenn Sie ihn von Ihrem eigenen Rechner aus mit dem Befehl „ssh-copy-id“ kopieren:

ssh-copy-id janos@vps.ip.cime

Falls die Anmeldung per Passwort auf dem Server nicht aktiviert ist, kopieren Sie bitte die Schlüssel des Root-Benutzers auf den Server, während Sie als Root-Benutzer angemeldet sind:

mkdir -p /home/janos/.ssh
cp /root/.ssh/authorized_keys /home/janos/.ssh/
chown -R janos:janos /home/janos/.ssh
chmod 700 /home/janos/.ssh
chmod 600 /home/janos/.ssh/authorized_keys

Die Berechtigungen sind wichtig: Wenn das Verzeichnis „.ssh“ oder die Datei „authorized_keys“ auch von anderen Benutzern geschrieben werden kann, ignoriert der SSH-Server den Schlüssel. Weitere Informationen zu den Berechtigungen finden Sie unter: Dateiberechtigungen (chmod, chown) unter Linux.

Versuchen Sie bitte, sich in einem neuen Terminal-Fenster anzumelden:

ssh janos@vps.ip.cime

5. Deaktivierung der Root-Anmeldung

Wenn Sie sich mit dem neuen Benutzer anmelden können und auch „sudo“ funktioniert, können Sie die SSH-Anmeldung des Root-Benutzers deaktivieren. Die dazu erforderlichen Schritte werden im Artikel „Sicherheitseinstellungen des SSH-Servers“ beschrieben.

Lassen Sie während der Änderung die bestehende SSH-Verbindung offen und schließen Sie diese erst, wenn Sie sich in einem neuen Fenster erfolgreich mit dem neuen Benutzer angemeldet haben. So können Sie die Einstellung im Falle eines Fehlers wiederherstellen.

Weitere nützliche Befehle

# A felhasználó csoportjai
id janos

# Jelszó módosítása
sudo passwd janos

# Felhasználó zárolása (nem tud belépni), majd feloldása
sudo usermod -L janos
sudo usermod -U janos

# Felhasználó törlése a saját könyvtárával együtt
sudo userdel -r janos

Bearbeiten der sudo-Einstellungen

Die Einstellungen für sudo sind in der Datei „/etc/sudoers“ und im Verzeichnis „/etc/sudoers.d/“ enthalten. Bearbeiten Sie diese stets mit dem Befehl „visudo“, da dieser vor dem Speichern die Syntax überprüft; eine fehlerhafte sudoers-Datei würde dazu führen, dass niemand sudo verwenden könnte. Die Optionen von sudo, die Protokollierung sowie häufige Fallstricke werden im Artikel „Verwendung des Befehls sudo mit Beispielen“ erläutert.

sudo visudo -f /etc/sudoers.d/janos

Wenn ein Nutzer beispielsweise nur einen Dienst ohne Passwort neu starten kann:

janos ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx

Geben Sie die Einstellung „NOPASSWD“ nicht für alle Befehle (ALL) an, denn sollte das Benutzerkonto oder der SSH-Schlüssel eines Benutzers in unbefugte Hände gelangen, ist damit auch der gesamte Server gefährdet.

Zurück: Linux-Artikel (62)