Was sind die technischen Unterschiede zwischen den beiden? Das einzige, was mir aufgefallen ist, ist, dass
sudo su
erfordert die Eingabe Ihres eigenen Passworts (vorausgesetzt, Sie sind kein Root)
Während
su root
erfordert die Eingabe des Root-Passworts. Allerdings scheinen beide Sie beim Root-Benutzerkonto anzumelden.
Antwort1
Es besteht ein kleiner Unterschied zwischen beiden. su root
(kann auch einfach auf abgekürzt werden su
) führt den su-Befehl als der Benutzer aus, der ihn aufgerufen hat. sudo
führt den angegebenen Befehl ( su
) als Root aus. Die Ausführung su
als Root ist im Wesentlichen ein No-Op, obwohl wahrscheinlich eine neue Shell gestartet wird. Ausführen sudo -i
ist (meiner Meinung nach) eine sauberere Art der Ausführung von sudo su
.
Wie bereits erwähnt gibt es bei einer Standardinstallation von Ubuntu kein Root-Passwort, sodass der su
alleinige Aufruf fehlschlägt.
Antwort2
Der zweite Befehl kann in einer Standard-Ubuntu-Installation nicht ausgeführt werden, bei der das root
Konto nicht aktiviert ist.
Aber angenommen, Sie haben das Konto entsperrt root
und ihm ein Passwort gegeben, dann können sich die beiden Befehle nur in der Umgebung und den Shell-Variablen unterscheiden, denke ich. Vergleichen Sie die Ausgabe env
in den beiden Situationen und vielleicht auch die Ausgabe von , set
um die Unterschiede zu sehen.
Antwort3
Ein weiterer Unterschied: Der Befehl sudo verwendet IHR Passwort und Sie müssen in der Datei /etc/sudoers autorisiert sein. Die Datei sudoers definiert, welche Befehle Sie mit sudo ausführen dürfen. Der Befehl su verwendet das ROOT-Passwort, das bekannt sein muss.
Je nach Option können Sie die Roots-Umgebung übernehmen oder Ihre eigene weiterführen.
Ich verwende „sudo bash“, um eine Root-Shell zu erhalten. Das ist fast identisch (vielleicht ist es das, ich bin mir nicht sicher) mit „sudo -i“. Die Umgebung wird folgendermaßen gesteuert: „sudo su - other_user“ ruft die Umgebung für other_user ab. Aber „sudo su other_user“ überträgt Ihre Umgebung unter der UID von other_user weiter. Das bedeutet, dass Ihre Aliase und dergleichen verfügbar sein werden.
Außerdem unterscheiden sich die Prüfergebnisse in den Prüfprotokollen, wenn Sie su oder sudo verwenden. Mehr Nachvollziehbarkeit mit sudo. Und schließlich geben Sie bei su das Root-Passwort weiter und haben einen Wartungsaufwand. Wenn Sie Personen mit sudo autorisieren, aktualisieren Sie einfach die sudoers-Datei, um Personen hinzuzufügen oder zu entfernen, und diese müssen sich nur ihr eigenes Passwort merken. Mit Sudoers können Sie auch entscheiden, was andere tun dürfen.
Antwort4
Mit sudo -i geht das, zumindest ab 11.00 Uhr, vorher und nach 12.04 Uhr bin ich mir nicht sicher.
leitet Ihre Umgebung unter der UID von other_user weiter. wie bereits erwähnt