Befehl: sudo su -

35

Ich verstehe was su -tut

  • Meldet Sie mit der Root-Umgebung bei Root an
  • (im Gegensatz zu sudem, der Sie mit Ihrer Umgebung in root anmeldet)

Und ich verstehe , was sudotut

  • Sie sind root für einen Befehl

Ich bin mir aber nicht sicher, was dies bewirkt: sudo su -

Jeder möchte das klären

Sixtyfootersdude
quelle
2
StackOverflow dient dazu, programmierbezogene Fragen zu stellen. Die Website, die Sie suchen (zumindest für diese Frage), ist SuperUser.com

Antworten:

53

Zusätzlich zu dem, was Sie gesagt haben, ist sudas Root-Passwort und sudoIhr Benutzerpasswort erforderlich

Dies sudo su -versetzt Sie in eine Root-Umgebung, fordert Sie jedoch zur Eingabe Ihres Benutzerpassworts anstelle des Root-Passworts auf (wenn Sie von sudo Root-Rechte erhalten haben, su -können Sie das Programm ohne Passwort ausführen).

Tyler McHenry
quelle
1
+1 gute Erklärung. Kann ich mein sudo so konfigurieren, dass es kein Passwort erfordert? Das würde dazu führen, dass su kein Passwort benötigt?
Sixtyfootersdude
1
klare Erklärung
Thiyagu ATR
4
Beachten Sie, dass dies sudo -iein etwas direkterer Weg ist
Sam Mason,
7

Wenn Sie den suBefehl verwenden dürfen (Konfiguration von sudo), werden Sie nach Ihrem Kennwort gefragt und anschließend als root angemeldet.

Tangens
quelle
2

Kurze Antwort: Sie erhalten eine Root-Shell.

Lange Antwort: Es ist anders als 'su -' innerhalb einer Root-Shell. Sobald Sie 'sudo su -' verlassen (z. B. Strg-D), wird die Ausführung von sudo beendet.

Beobachtet auf Debian Wheezy mit htop:

'sudo su -' hat ein Kind von 'su -' und 'su -' hat ein Kind von '-su'.

Wie oben erwähnt, kann der Root-Benutzer "su -" ausführen, ohne ein Kennwort einzugeben. Wenn Sie also "su -" in einer Root-Shell ausführen, haben Sie zwei verschiedene Root-Shell-Prozesse. Wenn Sie das innere beenden, kehren Sie zum äußeren zurück.

CL
quelle