Wenn überhaupt, würde Linux damit anders umgehen als mit OS X. OS X ist Unix-zertifiziert, was bedeutet, dass es einem bestimmten Verhaltensstandard entspricht. Linux ist Unix-ähnlich, aber nicht Unix-zertifiziert und entspricht nicht unbedingt dem Unix-Standard. Wenn es also Unterschiede gibt (abgesehen von dem in der Antwort von Aaron Lake angegebenen Root-Passwort), sind diese auf Seiten der Implementierer der jeweiligen Linux-Distribution nicht konform.
Alesplin
Antworten:
21
OS X behandelt sudoundsu identisch mit Linux.
sudoist 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 0Apr2711:45/newfile
suAuf 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 sudound suist, dass sudoein Befehl als root ausgeführt wird, wohingegen suSie root werden. Ähnlich wie andere Dienstprogramme Kommandozeile gibt es eine Reihe von alternativen Möglichkeiten , beide zu verwenden sudound su, wenn Sie interessiert sind , können Sie immer laufen man <command>zB. man sudoum mehr Informationen zu erhalten.
In einfachen Worten sudokann 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.
Binarybob
1
Das 'ohne zusätzliche Optionen' ist ein ziemlich wichtiges Qualifikationsmerkmal. Beide erlauben es Ihnen, andere Benutzer als root zu werden. Beispielsweise sudo su -lm _wwwhaben Sie eine Shell, als ob der Webserver-Benutzer (indem Sie den Befehl als root ausführen, als es hat kein gültiges Passwort)
Joe
2
@ Joe, ich habe überlegt, ob ich diese Informationen hinzufügen soll, aber der Kürze halber weggelassen. Wie Sie beschreiben, sudohandelt es sich um ein recht robustes Hilfsprogramm, das die Zielgruppe, die nach einer Unterscheidung zwischen sudound sucht, letztendlich verwirren oder überwältigen würde, wenn auch nur grundlegende Funktionen abgedeckt werden su.
Aaron Lake
"Der Hauptunterschied zwischen sudo und su ist, dass sudo einen Befehl als root ausführt, während su Sie zum root macht" - false, sudo -sshell ausführt ("macht Sie zum root") und su -c commandcommand als root ausführt.
el.pescado
2
Der Kürze halber habe ich die vielen alternativen Verwendungsmethoden weggelassen sudo. Unter su -c commandOS X ist dies standardmäßig nicht möglich , da Sie das root-Passwort nicht kennen. Sie können dann jedoch sudo sudas 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.
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:su
Auf der anderen Seite wird der aktuelle Benutzer auf root umgestellt (erneut ohne zusätzliche Befehle). Im folgenden Beispiel muss ich ausführensudo su
, da ich das root-Passwort für mein System nicht kenne:Der Hauptunterschied zwischen
sudo
undsu
ist, dasssudo
ein Befehl als root ausgeführt wird, wohingegensu
Sie root werden. Ähnlich wie andere Dienstprogramme Kommandozeile gibt es eine Reihe von alternativen Möglichkeiten , beide zu verwendensudo
undsu
, wenn Sie interessiert sind , können Sie immer laufenman <command>
zB.man sudo
um mehr Informationen zu erhalten.quelle
sudo
kann man allerdings von as sprechensuper 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 überschriebensudoers
) 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 zwischensudo
und sucht, letztendlich verwirren oder überwältigen würde, wenn auch nur grundlegende Funktionen abgedeckt werdensu
.sudo -s
shell ausführt ("macht Sie zum root") undsu -c command
command als root ausführt.sudo
. Untersu -c command
OS X ist dies standardmäßig nicht möglich , da Sie das root-Passwort nicht kennen. Sie können dann jedochsudo su
das Passwort ändernsu -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.