Ich würde gerne wissen, was der Unterschied zwischen
istsu -
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.
Referenzen:1, 2, 3.