Unterschied zwischen verschiedenen Befehlen für den Root-Zugriff im Terminal

Ich habe linux: für eine Weile verwendet Kaliund um Root-Zugriff zu erhalten, musste ich nur Folgendes eingeben: suim Terminal. Aber in OSX muss ich eingeben, su -was das -bedeutet?

Wenn ich nur suTerminal eintippe, komme ich sh-3.2#in die nächste Zeile

während wenn ich su -dann tippe, komme ich root#in die nächste Zeile.

Was ist der Unterschied zwischen all diesen Befehlen.

Außerdem sehe ich einige andere Befehle, um Root-Zugriff im Terminal zu erhalten: (1) su bash(2)sudo su

Bitte helfen Sie, den Unterschied zwischen all diesen Befehlen zu verstehen.

Antworten (2)

Von man su:

-l      Simulate a full login.  The environment is discarded except for
        HOME, SHELL, PATH, TERM, and USER.  HOME and SHELL are modified
        as above.  USER is set to the target login.  PATH is set to
        ``/bin:/usr/bin''.  TERM is imported from your current environ-
        ment.  The invoked shell is the target login's, and su will
        change directory to the target login's home directory.

-       (no letter) The same as -l.

Was suversus angeht sudo, ist es in Apple-Kreisen allgemein anerkannt, dass dies sudodie bevorzugte Methode ist, um im Root-Modus zu arbeiten. Standardmäßig suist es unter OS X deaktiviert (ebenso wie das Root-Konto). Es gibt nur wenige Gelegenheiten, bei denen ich root aktivieren musste, um Dinge zu erledigen.

Für weitere Informationen empfehle ich, beide Manpages zu lesen.

man su man sudo

Ich fange an, Bash-Scripting zu lernen. Also wollte ich Root-Zugriff, um einige Codes zu üben. Vielen Dank :*
Es ist eine sehr, sehr schlechte Idee, das Programmieren als root zu üben. Sie möchten einen möglichst energiesparenden Kontozugriff, um sicherzustellen, dass etwas, das Sie falsch machen, keine dramatischen systemweiten Auswirkungen haben kann. Verwenden Sie Root-Privilegien nur dann, wenn Sie sie unbedingt benötigen, z. B. bei der Installation kompilierter Binärdateien: ./configure ; make ; sudo make install. Küsse zurück atcha.
vielen Dank für so einen tollen Kommentar. Aber ich werde sie auf meinem PC (mit installiertem Hackintosh) testen, nicht auf meinem ursprünglichen MacBook
Viel Spaß, @StackOverflow32. :)

Sie haben meine Lieblingsmethode zum Rooten vergessen:

sudo -s

Das heißt, eine neue Root-Shell zu erstellen und all die modernen und fortgeschrittenen sudoVorteile zu erhalten, wie z bash.

Fragt auch sudonach Ihrem Passwort, nicht nach dem Passwort des anderen Benutzers, und im Fall von root erstellt Apple standardmäßig kein Root-Passwort. Auf diese Weise können Sie in den meisten macOS-Systemen, die Sie verwenden werden, rooten, ohne herumzufummeln.