Linux Terminal und Bash Grundlagen Teil 4 - Benutzerrechte, Root und Sudo
Inhaltsverzeichnis:
- Sudo installieren (sudo Befehl nicht gefunden)
- Installieren Sie Sudo unter Ubuntu und Debian
- Installieren Sie Sudo unter CentOS und Fedora
- Benutzer zu Sudoern hinzufügen
- So verwenden Sie Sudo
- Passwort-Timeout
- Führen Sie einen Befehl als anderer Benutzer als Root aus
- So leiten Sie mit Sudo um
- Fazit
Mit dem Befehl sudo können Sie Programme als anderer Benutzer ausführen, standardmäßig als Root-Benutzer. Wenn Sie viel Zeit in der Befehlszeile verbringen, ist sudo einer der Befehle, die Sie häufig verwenden werden.
Die Verwendung von sudo anstelle der Anmeldung als root ist sicherer, da Sie einzelnen Benutzern eingeschränkte Administratorrechte gewähren können, ohne dass sie das root-Passwort kennen.
In diesem Lernprogramm wird die Verwendung des Befehls
sudo
erläutert.
Sudo installieren (sudo Befehl nicht gefunden)
Das sudo-Paket ist auf den meisten Linux-Distributionen vorinstalliert.
Um zu überprüfen, ob das sudo-Paket auf Ihrem System installiert ist, öffnen Sie Ihre Konsole, geben Sie
sudo
und drücken Sie die
Enter
. Wenn Sie sudo installiert haben, zeigt das System eine kurze Hilfemeldung an, andernfalls wird der
sudo command not found
.
Wenn sudo nicht installiert ist, können Sie es einfach mit dem Paketmanager Ihrer Distribution installieren.
Installieren Sie Sudo unter Ubuntu und Debian
Installieren Sie Sudo unter CentOS und Fedora
Benutzer zu Sudoern hinzufügen
Bei den meisten Linux-Distributionen ist das Gewähren des sudo-Zugriffs standardmäßig so einfach wie das Hinzufügen des Benutzers zur sudo-Gruppe, die in der
sudoers
Datei definiert ist. Mitglieder dieser Gruppe können jeden Befehl als root ausführen. Der Name der Gruppe kann von Verteilung zu Verteilung unterschiedlich sein.
Auf RedHat-basierten Distributionen wie CentOS und Fedora lautet der Name der sudo-Gruppe
wheel
. So fügen Sie den Benutzer dem Gruppenlauf hinzu:
usermod -aG wheel username
Unter Debian, Ubuntu und ihren Derivaten wird Mitgliedern der Gruppe
sudo
der sudo-Zugriff gewährt:
usermod -aG sudo username
Das Root-Benutzerkonto in Ubuntu ist aus Sicherheitsgründen standardmäßig deaktiviert, und Benutzer werden aufgefordert, Systemverwaltungsaufgaben mit sudo auszuführen. Der vom Ubuntu-Installationsprogramm erstellte Erstbenutzer ist bereits Mitglied der sudo-Gruppe. Wenn Sie also Ubuntu ausführen, besteht die Möglichkeit, dass der Benutzer, als der Sie angemeldet sind, bereits über sudo-Berechtigungen verfügt.
linuxize
Sie beispielsweise
linuxize
, damit der Benutzer
linuxize
nur den Befehl
mkdir
als sudo
mkdir
kann:
sudo visudo
und füge die folgende Zeile hinzu:
linuxize ALL=/bin/mkdir
Auf den meisten Systemen wird mit dem Befehl
/etc/sudoers
Datei
/etc/sudoers
mit dem Texteditor vim
/etc/sudoers
. Wenn Sie noch keine Erfahrung mit vim haben, lesen Sie unseren Artikel zum Speichern einer Datei und zum Beenden des vim-Editors.
Sie können Benutzern auch erlauben, sudo-Befehle auszuführen, ohne ein Kennwort einzugeben:
linuxize ALL=(ALL) NOPASSWD: ALL
So verwenden Sie Sudo
Die Syntax für den Befehl
sudo
lautet wie folgt:
sudo OPTION.. COMMAND
Der Befehl
sudo
verfügt über viele Optionen, die sein Verhalten steuern. In der Regel wird
sudo
jedoch in seiner einfachsten Form ohne Optionen verwendet.
Um sudo zu verwenden, stellen Sie dem Befehl einfach
sudo
:
sudo command
Wobei
command
der Befehl ist, für den Sie sudo verwenden möchten.
Sudo liest die Datei
/etc/sudoers
und prüft, ob der aufrufende Benutzer mit sudo assess
/etc/sudoers
ist. Wenn Sie sudo zum ersten Mal in einer Sitzung verwenden, werden Sie aufgefordert, das Benutzerkennwort einzugeben, und der Befehl wird als root ausgeführt.
Um beispielsweise alle Dateien im Verzeichnis
/root
aufzulisten, würden Sie Folgendes verwenden:
sudo ls /root
password for linuxize:….bashrc.cache.config.local.profile
Passwort-Timeout
Standardmäßig werden Sie von sudo aufgefordert, Ihr Kennwort nach fünf Minuten Inaktivität von sudo erneut einzugeben. Sie können das Standardzeitlimit ändern, indem Sie die
sudoers
Datei
sudoers
. Öffne die Datei mit
visudo
:
sudo visudo
Legen Sie das Standardzeitlimit fest, indem Sie die folgende Zeile hinzufügen, wobei
10
das in Minuten angegebene Zeitlimit ist:
Defaults timestamp_timeout=10
Defaults:user_name timestamp_timeout=10
Führen Sie einen Befehl als anderer Benutzer als Root aus
Es besteht die falsche Auffassung, dass
sudo
nur verwendet wird, um einem regulären Benutzer Root-Berechtigungen zu erteilen. Tatsächlich können Sie
sudo
, um einen Befehl als beliebiger Benutzer auszuführen.
Mit der Option
-u
können Sie einen Befehl als angegebener Benutzer ausführen.
Im folgenden Beispiel verwenden wir
sudo
, um den
whoami
Befehl als Benutzer "richard" auszuführen:
sudo -u richard whoami
Der
whoami
Befehl gibt den Namen des Benutzers aus, der den Befehl
whoami
:
So leiten Sie mit Sudo um
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
Dies liegt daran, dass die Umleitung „
>
“ der Ausgabe unter dem Benutzer erfolgt, bei dem Sie angemeldet sind, nicht unter dem von sudo angegebenen Benutzer. Die Umleitung erfolgt, bevor der Befehl
sudo
aufgerufen wird.
Eine Lösung besteht darin, eine neue Shell als root mit
sudo sh -c
aufzurufen:
sudo sh -c 'echo "test" > /root/file.txt'
Eine andere Möglichkeit besteht darin, die Ausgabe als regulärer Benutzer an den Befehl
tee
weiterzuleiten, wie unten gezeigt:
echo "test" | sudo tee /root/file.txt
Fazit
Sie haben gelernt, wie Sie den Befehl
sudo
und neue Benutzer mit sudo-Berechtigungen erstellen.
Befehl Chgrp unter Linux (Gruppe wechseln)
In Linux ist jede Datei einem Eigentümer und einer Gruppe zugeordnet und verfügt über Berechtigungen, die festlegen, welche Benutzer die Datei lesen, schreiben oder ausführen dürfen. Der Befehl chgrpc ändert die Gruppeneigentümerschaft für bestimmte Dateien.
Diff Befehl unter Linux
diff ist ein Befehlszeilenprogramm, mit dem Sie zwei Dateien zeilenweise vergleichen können. Es kann auch den Inhalt von Verzeichnissen vergleichen.
So führen Sie den Befehl sudo ohne Kennwort aus
Mit dem Befehl sudo können vertrauenswürdige Benutzer Programme als andere Benutzer ausführen, standardmäßig als Rootbenutzer. In diesem Tutorial wird erklärt, wie Sie die sudoers-Datei konfigurieren und bestimmten Benutzern erlauben, sudo-Befehle auszuführen, ohne nach dem Kennwort gefragt zu werden.







