Was ist Sudo in Linux und wie wird es verwendet?


Betrachten Sie den obigen Comic aus dem ausgezeichneten XKCD-Webcomic. Der faule Kerl auf dem Stuhl möchte, dass sein Freund ihnen ein Sandwich macht, aber sie haben nicht die Befugnis, sie dazu zu bringen. Das heißt, bis er den mächtigen Sudo-Befehl aufruft. Danach wird so oder so ein Sandwich gemacht.

Während das Ausprobieren von Sudo an einer Person im wirklichen Leben wahrscheinlich nicht so effektiv ist, ist es der magische Befehl, der jede Straßensperre in der Linux-Welt überwindet. Was ist Sudo? Warum existiert es überhaupt? Die Antwort liegt darin, wie Linux mit Berechtigungen umgeht.

Linux-Benutzerberechtigungen verstehen

Linux gilt aufgrund der Art und Weise, wie es mit Berechtigungen umgeht, als sicheres Betriebssystem. Während Betriebssysteme wie macOS (das einen Vorfahren mit Linux teilte) und Windows in dieser Hinsicht jetzt eher Linux ähneln, ist das Open-Source-Betriebssystem immer noch etwas einzigartig.

Zu verstehen, wie Linux mit Berechtigungen umgeht, macht es zu einem viel einfacher, den sudo-Befehl zu verstehen. Alle modernen Betriebssysteme haben eine Benutzerberechtigungsebene „Administrator“ oder „Root“. Wenn Sie ein Admin- oder Root-Konto haben, können Sie alle Einstellungen ändern, alle Daten löschen und im Allgemeinen mit dem Computer tun, was Sie möchten.

Dazu gehören Dinge, die Sie wahrscheinlich nicht tun sollten, die zu Datenverlust oder der Notwendigkeit einer vollständigen Löschung und Neuinstallation führen können.

Linux funktioniert nicht 't Berechtigungen auf Root-Benutzerebene nicht zum Standard. Stattdessen kann Ihr Konto die wirklich sensiblen Teile des Systems nicht erreichen, ohne Ihre Berechtigungsstufe zu erhöhen. Das bedeutet, dass das System Sie zur Eingabe des Administratorkennworts auffordert, wenn Sie etwas Außergewöhnliches über eine grafische Oberfläche tun möchten.

Wenn Sie jedoch die Terminal -Befehlszeile verwenden möchten, um Dinge zu erledigen, ist sudo am sichersten und der effizienteste Weg, dies zu tun.

Sudo und das Terminal

Es gibt zwei Möglichkeiten, sich unter Linux erhöhte Berechtigungen zu erteilen. Eine besteht darin, sich dauerhaft als Root-Benutzer anzumelden. Das Problem dabei ist, dass jeder andere, der auf den Computer zugreifen kann, Chaos anrichten kann, und sogar Sie können es versehentlich tun. Sudo erhöht Ihre Berechtigungen nur für kurze Zeit, um die darauf folgenden spezifischen Befehle auszuführen.

Sudo-Syntax

Die Syntax von Sudo (das Format des Befehls) ist einfach. Geben Sie einfach „sudo“ gefolgt von dem Befehl ein, den Sie ausführen möchten.

Zum Beispiel aktualisiert „sudo apt-get update“ alle App-Repositorys, die in den entsprechenden Datei. Wenn Sie versucht haben, es ohne sudo auszuführen, erhalten Sie eine Fehlermeldung, die Ihnen mitteilt, dass Sie keine Berechtigung haben. Dies ist übrigens im Allgemeinen der erste Sudo-Befehl, den Sie nach einer Neuinstallation Ihrer bevorzugten Linux-Distribution ausführen möchten.

Das „Su“ in Sudo

Das „su“ in Sudo steht für „Superuser“ und ist ein eigenständiger Befehl. Mit dem Befehl "su" können Sie ändern, auf welche Benutzerberechtigungen sudo Sie erhebt.

Obwohl sudo Sie vorübergehend zum Root berechtigt, ändert su Sie zu einem anderen Benutzer mit entsprechenden Rechten. Das mag wie ein unwichtiger Unterschied erscheinen, aber es gibt gute Gründe, das Konto zu ändern, auf das sudo einen Benutzer erhöht.

Zuallererst bedeutet das Ändern des Kontos, dass normale Benutzer das Root-Passwort nicht kennen. Zweitens gibt es ein Protokoll aller sudo-Befehle, was bedeutet, dass der Systemadministrator (root) nachschlagen kann, wer su-Befehle ausgegeben hat.

Die Syntax für su ist im Wesentlichen dieselbe wie bei sudo:

Su USERNAME -c COMMAND

Ersetzen Sie USERNAME durch den gewünschten Benutzer, um den Befehl auszuführen, und COMMAND durch den Linux-Befehl, den Sie ausführen möchten.

Wenn Wenn Sie mehrere Befehle als anderer Benutzer ausführen möchten, verwenden Sie einfach:

Su USER

Ersetzen Sie USER durch die gewünschte Benutzerkontoidentität.

Wenn Sie su alleine verwenden, wechselt Linux zum anderen Benutzerkonto, bis Sie den Befehl „exit“ verwenden. Denken Sie daran, dass dieser oder der nächste Benutzer, der in dieser Sitzung auf das Terminal zugreift, weiterhin über erhöhte Berechtigungen verfügt. Aus diesem Grund ist es im Allgemeinen besser, sudo statt su zu verwenden.

Das Sudo-Zeitlimit

Wenn Sie zum ersten Mal einen sudo-Befehl verwenden, 'muss ein Passwort eingeben. Danach bleibt dieses Passwort 15 Minuten lang gültig. Sie können diese Standardeinstellung ändern, indem Sie den Befehl sudo visudoausführen und „timestamp_timeout=“ auf einen längeren oder kürzeren Wert ändern. Wir empfehlen Ihnen jedoch nicht, dies zu tun, es sei denn, Sie haben einen guten Grund, die Gültigkeitsdauer eines Sudo-Passworts zu verlängern oder zu verkürzen.

Sudo-Optionsschalter

Obwohl die Sudo-Syntax ist einfach, mehrere Schalter sind wissenswert. Diese Befehle öffnen zusätzliche Informationen oder helfen Ihnen, die Sudo-Sitzung zu steuern:

  • -hzeigt Ihnen Syntax- und Befehlsinformationen für Sudo an.
  • -Vzeigt die aktuelle Version für Sudo auf Ihrem Computer an.
  • -vaktualisiert das Sudo-Zeitlimit und startet die Uhr neu.
  • -llistet Benutzerberechtigungen auf.
  • -kbeendet die aktuelle Sudo-Sitzung sofort und entfernt erhöhte Berechtigungen.
  • In sudo sind viele weitere Optionen integriert, und Sie können sie alle mit dem ersten oben aufgeführten Schalter -h sehen.

    Der obige Screenshot ist das Ergebnis, wenn Sie verwenden die Hilfeoption.

    Nützliche Sudo-Befehle

    Welche Befehle, die von sudo unterstützt werden, sollte jeder Linux-Benutzer kennen? Wir haben sudo apt-get update bereits behandelt, aber notieren Sie sich auch diese:

    • Sudo apt-get upgradeaktualisiert alle installierten Pakete.
    • Sudo apt-get install installiert Software Ihrer Wahl; Ändern Sie einfach den Paketnamen in den, den Sie installieren möchten.
    • Wenn Sie den Paketnamen nicht kennen, verwenden Sie dpkg –list.
    • Wenn Wenn Sie ein installiertes Paket vom Terminal entfernen möchten, verwenden Sie sudo apt-get remove (ersetzen Sie erneut den jeweiligen Paketnamen).
    • Dies sind wahrscheinlich die ersten sudo-Befehle, die Sie verwenden müssen, aber wie Sie oben gelernt haben, kann jeder Befehl auf sudo folgen, aber Sie sollten nur solche verwenden, die höhere Berechtigungen benötigen.

      Zusammenhängende Posts:


      30.06.2021