Unterschied zwischen Sudo-Anmeldungen und Eingabeaufforderungsanzeige

Unterschied zwischen Sudo-Anmeldungen und Eingabeaufforderungsanzeige

Was ist der Unterschied zwischen sudo -sund sudo -iund warum geben sie mir unterschiedliche Schalen? Es scheint, -shält mich drinnen bashund -igibt mir sh.

Wenn ich unter MacOSX High Sierra 10.13 sudo -sin ein Terminal tippe und mein Passwort eingebe, erhalte ich als Benutzernamen „root“, allerdings mit einem Dollarzeichen an der Eingabeaufforderung:

user1@mymachine:~$ sudo -s
**root@mymachine:~$**

Wenn ich jedoch eingebe sudo -i, erhalte ich:

user1@mymachine:~$ sudo -i
Password:<br/>
**mymachine:~ root#**

Warum wird mir das Rautezeichen # nicht angezeigt, wenn ich im obigen Beispiel mit root bin sudo -s? Bin ich nicht wirklich root?
Sind die Umgebungsvariablen bei beiden unterschiedlich?

Antwort1

Als Erstes müssen Sie sich darüber im Klaren sein, dass dies sudo -sgleichwertig ist mit sudo -s rootund sudo -igleichwertig ist mit sudo -i root. Wenn Sie einen Benutzer in sudo auslassen, wird davon ausgegangen, dass Sie den Benutzer root als Ziel haben.

sudo -sführt eine Shell als Zielbenutzer aus, während er sudo -isich als Zielbenutzer anmeldet.

Wenn Sie ausführen, sudo -sändern Sie Ihre Shell effektiv in die Root-Benutzer-Shell, während sudo -iSie sich bei jeder Ausführung effektiv von Ihrem aktuellen Benutzer abmelden und als Root anmelden. Dies ist wichtig zu wissen, da Sie beim Ändern Ihrer Shell in die Root-Benutzer-Shell immer noch Ihre Benutzerexportinformationen behalten. Wenn Sie ausführen, sudo -imelden Sie sich von Ihrem Benutzer ab und melden sich als Root an. Das bedeutet, dass Sie die Shell-Konfiguration des Root-Benutzers übernehmen.

Dies hat nichts damit zu tun, aber Sie sollten es vermeiden, Ihren Benutzer auf Root umzustellen, da Sie sonst versehentlich Dinge beschädigen könnten. Sie sollten einfach jeden Befehl, der eskaliert werden muss, mit sudo ausführen, auch wenn es lästig wird. Wenn Sie wirklich zu einer Root-Shell wechseln möchten, sollten Sie ausführen, suwodurch Sie sich als Root anmelden können.

verwandte Informationen