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

Untersuchung der Unterschiede zwischen den Befehlen sudo und su in Linux

Dieser Artikel untersucht die Unterschiede zwischen sudo und su Befehle unter Linux. Sie können sich auch dieses Video ansehen, um mehr über diese Befehle zu erfahren. Dauerhaft root werden mit su ist ein bekanntes 'no-no' im *nix-Universum. Wieso den? Weil man mit su root wird bedeutet, dass Sie root sind, was dasselbe ist, als würden Sie sich als root-Benutzer mit dem root-Passwort an einem Terminal anmelden. Und das ist aus vielen Gründen gefährlich.

[Das könnte Ihnen auch gefallen:Grundlagen der Linux-Befehlszeile:sudo ]

Als Root zu arbeiten bedeutet, dass Sie Folgendes tun können:

  • Entfernen Sie einige oder alle Dateien
  • Ändern Sie die Berechtigungen einiger oder aller Dateien
  • Runlevel des Systems ändern
  • Benutzerkonten ändern
  • Dateisysteme mounten oder unmounten
  • Software entfernen oder installieren
  • Dateisysteme erstellen, entfernen und ändern

Grundsätzlich können Sie als Root-Benutzer alles mit dem System machen. Es ist das allmächtige Verwaltungskonto. Und im Gegensatz zu anderen, gesprächigeren Betriebssystemen sehen Sie kein "Sind Sie sicher?" Dialog, um sicherzustellen, dass der rm -rf * Befehl, den Sie gerade ausgegeben haben, war in /opt/tmp statt bei / . Wie Sie sich vorstellen können, können Fehler, die als Root-Benutzer begangen werden, irreversibel und verheerend sein. Es gibt eine Alternative:sudo .

sudo

sudo , was ein Akronym für Superuser do oder Ersatzbenutzer do ist , ist ein Befehl, der eine Eingabeaufforderung mit erhöhten Rechten ausführt, ohne dass Sie Ihre Identität ändern müssen. Abhängig von Ihren Einstellungen in /etc/sudoers -Datei können Sie einzelne Befehle als root oder als anderer Benutzer ausführen. Um weiterhin Befehle mit Root-Power auszuführen, müssen Sie immer den Befehl sudo verwenden. Wenn Sie beispielsweise Nginx installieren möchten Paket, Sie führen aus:

$ dnf install nginx

Aber Sie werden einen Fehler sehen, wenn Sie nicht root oder in der sudo-Gruppe sind. Wenn Sie stattdessen diesen Befehl ausführen:

$ sudo dnf install nginx

Sie werden aufgefordert, Ihr Passwort einzugeben, und können dann den Befehl ausführen, wenn Sie Teil der sudo-Gruppe sind.

Eine einfache Möglichkeit, als Root-Benutzer zu einer interaktiven Sitzung zu wechseln, ist die folgende:

$ sudo -i

Die Theorie hinter der Verwendung von sudo ist, dass die Ausgabe des sudo-Befehls vor jedem Befehl, den Sie ausführen, dazu führt, dass Sie mehr darüber nachdenken, was Sie tun, und hoffentlich weniger Fehler mit einem Konto machen, das unbegrenzte Macht besitzt.

so

su , andererseits ist ein Akronym für Benutzer wechseln oder Benutzer ersetzen . Sie wechseln grundsätzlich zu einem bestimmten Benutzer und benötigen das Passwort für den Benutzer, zu dem Sie wechseln. Meistens ist das Benutzerkonto, zu dem Sie wechseln, das Root-Konto, aber es kann jedes Konto auf dem System sein.

Wenn Sie beispielsweise Folgendes eingeben:

$ su -

Im obigen Beispiel wechseln Sie zu root und benötigen das Root-Passwort. Die (- ) Switch stellt Ihnen die Umgebung von root (Pfad und Shell-Variablen) zur Verfügung, anstatt Ihnen einfach nur root-Benutzerrechte für einen einzelnen Befehl zu geben, während Sie Ihre eigene Umgebung behalten.

$ su bryant

Im zweiten Beispiel wechseln Sie zu bryant , und daher benötigen Sie das Passwort von Bryant, es sei denn, Sie sind root.

Wenn Sie zum Bryant wechseln möchten Benutzerkonto einschließlich Pfad und Umgebungsvariablen von Bryant verwenden Sie die Datei (- ) Schalter:

$ su - bryant

Die (- ) hat dieselbe Wirkung wie die direkte Anmeldung bei einem System mit diesem Benutzerkonto. Im Wesentlichen werden Sie dieser Benutzer.

Abschluss

Fassen Sie zusammen, was Sie gelernt haben.

  • sudo lässt Sie Befehle als ein anderer Benutzer erteilen, ohne Ihre Identität zu ändern
  • Sie benötigen einen Eintrag in /etc/sudoers um diese eingeschränkten Berechtigungen auszuführen
  • sudo -i bringt Sie als Root zu einer interaktiven Sitzung
  • su bedeutet, zu einem bestimmten Benutzer zu wechseln
  • Geben Sie einfach su ein wechselt zum Root-Benutzer
  • sudo wird nach Ihrem Passwort fragen, während su fragt nach dem Passwort für den Benutzer, zu dem Sie wechseln

[ Möchten Sie mehr über Sicherheit erfahren? Sehen Sie sich die Checkliste für IT-Sicherheit und Compliance an. ] 

Aber wann benutzt man das eine und nicht das andere? Da die sudo Die Richtlinie ist in /etc/sudoers definiert , kann dies zu leistungsstarken Berechtigungskontrollen führen. Seit sudo kann so ziemlich alles, was su kann kann, würde ich sagen, bleib am besten bei sudo es sei denn, Sie arbeiten mit älteren Codes, die den su erfordern Befehl.


Linux
  1. Lernen Sie den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux kennen

  2. Unterschied zwischen den Befehlen „su“ und „su -“ in Linux

  3. So erlauben Sie dem Benutzer, sudo in Ubuntu Linux zu verwenden

  4. Unterschied zwischen Sudo-Benutzer und Root-Benutzer?

  5. So erstellen Sie einen Sudo-Benutzer in Rocky Linux 8

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Führen Sie Befehle als ein anderer Benutzer über Sudo in Linux aus

Geben Sie Linux-Befehle in Großbuchstaben ein, um sie als Sudo-Benutzer auszuführen

Wie man die Gruppen eines Linux-Benutzers kennt

Fortgeschrittene Linux-Befehle für den Power User

Erlernen der Linux-Befehle „Benutzer löschen“ oder „Linux-Benutzer hinzufügen“.