Was ist der Unterschied zwischen dem Befehl sudo
und su
? Warum behandelt OS X diese anders als Linux?
Was ist der Unterschied zwischen dem Befehl sudo
und su
? Warum behandelt OS X diese anders als Linux?
Antworten:
OS X behandelt sudo
undsu
identisch mit Linux.
sudo
ist ein Befehl, der ohne zusätzliche Optionen einen Befehl als root ausführt. Beispielsweise:
% touch /newfile
touch: /newfile: Permission denied
% ls -l /newfile
ls: /newfile: No such file or directory
% sudo touch /newfile
% ls -l /newfile
-rw-r--r-- 1 root wheel 0 Apr 27 11:45 /newfile
su
Auf der anderen Seite wird der aktuelle Benutzer auf root umgestellt (erneut ohne zusätzliche Befehle). Im folgenden Beispiel muss ich ausführen sudo su
, da ich das root-Passwort für mein System nicht kenne:
% whoami
alake
% sudo su
$ whoami
root
Der Hauptunterschied zwischen sudo
und su
ist, dass sudo
ein Befehl als root ausgeführt wird, wohingegen su
Sie root werden. Ähnlich wie andere Dienstprogramme Kommandozeile gibt es eine Reihe von alternativen Möglichkeiten , beide zu verwenden sudo
und su
, wenn Sie interessiert sind , können Sie immer laufen man <command>
zB. man sudo
um mehr Informationen zu erhalten.
sudo
kann man allerdings von as sprechen super user and do
. Wenn Sie sich unter OS X erfolgreich authentifiziert haben, können Sie sudo für kurze Zeit (standardmäßig 5 Minuten, sofern nicht überschrieben sudoers
) ohne Kennwort verwenden. Anschließend müssen Sie das Kennwort erneut eingeben.
sudo su -lm _www
haben Sie eine Shell, als ob der Webserver-Benutzer (indem Sie den Befehl als root ausführen, als es hat kein gültiges Passwort)
sudo
handelt es sich um ein recht robustes Hilfsprogramm, das die Zielgruppe, die nach einer Unterscheidung zwischen sudo
und sucht, letztendlich verwirren oder überwältigen würde, wenn auch nur grundlegende Funktionen abgedeckt werden su
.
sudo -s
shell ausführt ("macht Sie zum root") und su -c command
command als root ausführt.
sudo
. Unter su -c command
OS X ist dies standardmäßig nicht möglich , da Sie das root-Passwort nicht kennen. Sie können dann jedoch sudo su
das Passwort ändern su -c command
. Ich habe das Gefühl, dass die Frage beantwortet wurde und es nicht notwendig war, tiefer in die alternative Verwendung von sudo und su einzutauchen. Allerdings werde ich den Beitrag für die neugierigen Leute aktualisieren.