GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sudo-Befehl unter Linux

Mit dem Befehl sudo können Sie Programme als anderer Benutzer ausführen, standardmäßig als Root-Benutzer. Wenn Sie viel Zeit auf der Befehlszeile verbringen, ist sudo einer der Befehle, die Sie ziemlich 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 Tutorial erklären wir Ihnen, wie Sie sudo verwenden Befehl.

Installieren von Sudo (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 und geben Sie sudo ein , und drücken Sie Enter . Wenn Sie das System mit sudo installiert haben, wird eine kurze Hilfemeldung angezeigt. Andernfalls sehen Sie so etwas wie sudo command not found .

Wenn sudo nicht installiert ist, können Sie es einfach mit dem Paketmanager Ihrer Distribution installieren.

Installieren Sie Sudo auf Ubuntu und Debian #

apt install sudo

Installieren Sie Sudo auf CentOS und Fedora #

yum install sudo

Hinzufügen eines Benutzers zu Sudoers #

Standardmäßig ist das Gewähren von sudo-Zugriff bei den meisten Linux-Distributionen so einfach wie das Hinzufügen des Benutzers zur sudo-Gruppe, die in sudoers definiert ist Datei. Mitglieder dieser Gruppe können alle Befehle als root ausführen. Der Name der Gruppe kann sich von Distribution zu Distribution unterscheiden.

Auf RedHat-basierten Distributionen wie CentOS und Fedora lautet der Name der sudo-Gruppe wheel . Führen Sie Folgendes aus, um den Benutzer zur Gruppe hinzuzufügen:

usermod -aG wheel username

Unter Debian, Ubuntu und ihren Derivaten Mitglieder der Gruppe sudo werden mit sudo-Zugriff gewährt:

usermod -aG sudo username

Das Root-Benutzerkonto in Ubuntu ist aus Sicherheitsgründen standardmäßig deaktiviert, und Benutzern wird empfohlen, Systemverwaltungsaufgaben mit sudo auszuführen. Der anfänglich vom Ubuntu-Installer erstellte Benutzer ist bereits Mitglied der sudo-Gruppe. Wenn Sie also Ubuntu ausführen, sind die Chancen groß, dass der Benutzer, als der Sie angemeldet sind, bereits über sudo-Berechtigungen verfügt.

Um einem bestimmten Benutzer zu erlauben, nur bestimmte Programme als sudo auszuführen, fügen Sie die Benutzer den sudoers hinzu, anstatt den Benutzer der sudo-Gruppe hinzuzufügen Datei.

Zum Beispiel, um dem Benutzer linuxize zu erlauben um nur das mkdir auszuführen Befehl als sudo, geben Sie ein:

sudo visudo

und fügen Sie die folgende Zeile hinzu:

linuxize  ALL=/bin/mkdir

Auf den meisten Systemen ist das visudo Befehl öffnet die Datei /etc/sudoers Datei mit dem vim Texteditor. Wenn Sie keine Erfahrung mit vim haben, lesen Sie unseren Artikel darüber, wie man eine Datei speichert und den vim-Editor beendet.

Sie können Benutzern auch erlauben, sudo-Befehle auszuführen, ohne das Passwort einzugeben:

linuxize  ALL=(ALL) NOPASSWD: ALL

So verwenden Sie Sudo #

Die Syntax für sudo Befehl lautet wie folgt:

sudo OPTION.. COMMAND

Das sudo Der Befehl hat viele Optionen, die sein Verhalten steuern, aber normalerweise wird er in seiner grundlegendsten Form ohne Optionen verwendet.

Um sudo zu verwenden, stellen Sie dem Befehl einfach sudo voran :

sudo command

Wobei command ist der Befehl, für den Sie sudo verwenden möchten.

Sudo liest den /etc/sudoers -Datei und prüfen Sie, ob dem aufrufenden Benutzer sudo-Assessment erteilt wurde. Wenn Sie sudo zum ersten Mal in einer Sitzung verwenden, werden Sie aufgefordert, das Benutzerkennwort einzugeben, und der Befehl wird als root ausgeführt.

Zum Beispiel, um alle Dateien im Verzeichnis /root aufzulisten Verzeichnis, das Sie verwenden würden:

sudo ls /root
[sudo] password for linuxize:
.  ..  .bashrc	.cache	.config  .local  .profile

Passwort-Timeout #

Standardmäßig fordert sudo Sie auf, Ihr Passwort nach fünf Minuten Inaktivität von sudo erneut einzugeben. Sie können das Standard-Timeout ändern, indem Sie die sudoers bearbeiten Datei. Öffnen Sie die Datei mit visudo :

sudo visudo

Legen Sie das Standard-Timeout fest, indem Sie die folgende Zeile hinzufügen, wobei 10 ist das in Minuten angegebene Timeout:

Defaults  timestamp_timeout=10

Wenn Sie den Zeitstempel nur für einen bestimmten Benutzer ändern möchten, fügen Sie die folgende Zeile hinzu, wobei Benutzername der betreffende Benutzer ist.

Defaults:user_name timestamp_timeout=10

Führen Sie einen Befehl als ein anderer Benutzer als Root # aus

Es gibt eine falsche Wahrnehmung, dass sudo wird nur verwendet, um einem normalen Benutzer Root-Berechtigungen zu erteilen. Tatsächlich können Sie sudo verwenden um einen Befehl als beliebiger Benutzer auszuführen.

Das -u Option ermöglicht es Ihnen, einen Befehl als angegebener Benutzer auszuführen.

Im folgenden Beispiel verwenden wir sudo um whoami auszuführen Befehl als Benutzer „richard“:

sudo -u richard whoami

Das whoami Der Befehl gibt den Namen des Benutzers aus, der den Befehl ausführt:

richard

Umleitung mit Sudo #

Wenn Sie versuchen, die Ausgabe eines Befehls in eine Datei umzuleiten, für die Ihr Benutzer keine Schreibberechtigung hat, erhalten Sie die Fehlermeldung „Berechtigung verweigert“.

sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied

Dies geschieht, weil die Umleitung „> “ der Ausgabe erfolgt unter dem Benutzer, mit dem Sie angemeldet sind, nicht dem mit sudo angegebenen Benutzer. Die Umleitung erfolgt vor dem sudo Befehl wird aufgerufen.

Eine Lösung besteht darin, eine neue Shell als root aufzurufen, indem Sie sudo sh -c verwenden :

sudo sh -c 'echo "test" > /root/file.txt'

Eine andere Möglichkeit besteht darin, die Ausgabe als normaler Benutzer an tee zu leiten Befehl, wie unten gezeigt:

echo "test" | sudo tee /root/file.txt

Schlussfolgerung #

Sie haben gelernt, wie man sudo verwendet Befehl und wie man neue Benutzer mit sudo-Berechtigungen erstellt.

Wenn Sie Fragen haben, können Sie gerne einen Kommentar hinterlassen.


Linux
  1. Linux-mv-Befehl

  2. Linux-Du-Befehl

  3. Linux-IP-Befehl

  4. Linux-cd-Befehl

  5. sudo-Befehlsbeispiele in Linux

Welcher Linux-Befehl

Datumsbefehl in Linux

W-Befehl unter Linux

Bei Befehl unter Linux

Df-Befehl unter Linux

Grundlagen der Linux-Befehlszeile:sudo