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

Der Unterschied zwischen „su -“, „sudo Bash“ und „sudo Sh“?

Ich würde gerne wissen, was der Unterschied zwischen

ist
  • su -
  • sudo bash
  • sudo sh

Ich kann mich nicht als Root anmelden, während ich su - ausführe weil ich das Root-Passwort nicht habe – ich meine, ich habe mein Benutzerpasswort, mit dem ich sudo "command" kann aber dieses Passwort funktioniert nicht für su -
Ich kann mich mit sudo bash als root anmelden mit meinem Benutzerpasswort und ich kann mich anmelden, während ich sudo sh mache aber dann bekomme ich eine Eingabeaufforderung in dieser Form
#

Beste Antwort

Hintergrund

Unter Linux (und Unix im Allgemeinen) gibt es einen SuperUser mit dem Namen Root . Der SuperUser kann alles und jeden und somit kann die tägliche Arbeit als SuperUser gefährlich sein. Sie könnten einen Befehl falsch eingeben und das System zerstören. Idealerweise werden Sie als Benutzer ausgeführt, der nur über die Berechtigungen verfügt, die für die jeweilige Aufgabe erforderlich sind. In einigen Fällen ist dies zwangsläufig Root, aber meistens ist es ein normaler Benutzer.

su –

Dieser Befehl wird verwendet, um sich beim Root-Konto anzumelden.
Standardmäßig ist das Root-Konto-Passwort in Ubuntu gesperrt. Das bedeutet, dass Sie sich nicht direkt als Root anmelden oder den Befehl su verwenden können, um Root-Benutzer zu werden. Da das Root-Konto jedoch physisch existiert, ist es weiterhin möglich, Programme mit Root-Rechten auszuführen. Hier kommt sudo ins Spiel – es erlaubt autorisierten Benutzern (normalerweise „administrativen“ Benutzern), bestimmte Programme als Root auszuführen, ohne das Root-Passwort kennen zu müssen.

Siehe So aktivieren Sie das Root-Konto .

sudo sh

Dieser Befehl führt „sh“ als Superuser aus.
Das Dienstprogramm sh ist ein Befehlsspracheninterpreter, der Befehle ausführen soll, die aus einer Befehlszeilenzeichenfolge, der Standardeingabe oder einer bestimmten Datei gelesen werden.

sudo bash

Dieser Befehl führt „bash“ als Superuser aus.
Bash ist die Shell oder der Interpreter der Befehlssprache. Bash ist eine sh-kompatible Shell, die nützliche Funktionen der Korn-Shell (ksh) und der C-Shell (csh) enthält. Es soll dem Shell- und Tools-Standard IEEE POSIX P1003.2/ISO 9945.2 entsprechen. Es bietet funktionale Verbesserungen gegenüber sh sowohl für die Programmierung als auch für die interaktive Verwendung. Außerdem können die meisten sh-Skripte von Bash ohne Modifikation ausgeführt werden.

Verwandte:Die Auswirkungen des Nolapic-Parameters auf einen Multiprozessor-Laptop?

Referenzen:1, 2, 3.


Ubuntu
  1. Der Unterschied zwischen einem eingebauten Befehl und einem, der es nicht ist?

  2. Der Unterschied zwischen [[ $a ==Z* ]] und [ $a ==Z* ]?

  3. Centos – Der Unterschied zwischen Shutdown 18:00 und Shutdown um 18:00?

  4. Unterschied zwischen Piping und Befehlserweiterung?

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

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Der Unterschied zwischen mehr, weniger und den meisten Befehlen

Was ist der Unterschied zwischen Rsync und BTRFS unter Linux?

Was ist der Unterschied zwischen Cat und Touch Command?

Was ist der Unterschied zwischen apt und dem Befehl apt-get?

Was ist der Unterschied zwischen Kill- und Killall-Befehlen?