Jaka jest różnica między poleceniem sudoa su? Dlaczego OS X obsługuje je inaczej niż Linux?
Jaka jest różnica między poleceniem sudoa su? Dlaczego OS X obsługuje je inaczej niż Linux?
Odpowiedzi:
OS X uchwyty sudoi suidentycznie jak Linux.
sudoto polecenie, które bez żadnych dodatkowych opcji uruchomi polecenie jako root. Na przykład:
% 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
suz drugiej strony, zmieni bieżącego użytkownika na root (ponownie bez żadnych dodatkowych poleceń). W poniższym przykładzie muszę uruchomić sudo su, ponieważ nie znam hasła roota dla mojego systemu:
% whoami
alake
% sudo su
$ whoami
root
Kluczową różnicą między sudoi sujest sudouruchamianie komendy jako root, natomiast supowoduje rootowanie. Podobnie jak inne narzędzia wiersza poleceń, istnieje wiele alternatywnych sposobów korzystania z obu, sudoa sujeśli jesteś zainteresowany, zawsze możesz uruchomić man <command>np. man sudoaby uzyskać więcej informacji.
sudo su -lm _wwwpozwolą ci mieć taką powłokę jak użytkownik serwera WWW (uruchamiając polecenie jako root, jako nie ma prawidłowego hasła)
sudojest to dość solidne narzędzie, a obejmowanie nawet tutaj podstawową funkcjonalnością ostatecznie dezorientuje lub przytłacza docelowych odbiorców szukających rozróżnienia między sudoi su.
sudo -suruchamia powłokę („powoduje rootowanie”) i su -c commanduruchamia polecenie jako root.
sudo. Ponadto nie można su -c commanddomyślnie robić tego w systemie OS X, ponieważ nie znasz hasła użytkownika root. Możesz jednak sudo suzmienić hasło su -c command. Wydaje mi się, że odpowiedziano na to pytanie i nie było potrzeby zagłębiania się w alternatywne zastosowania sudo i su. Jednak zaktualizuję post dla ciekawskich ludzi.