Во всяком случае, Linux будет обращаться с ними иначе, чем OS X. OS X сертифицирована Unix, что означает, что она соответствует определенному стандарту поведения. Linux похож на Unix, но не сертифицирован Unix и не обязательно соответствует стандарту Unix. Так что, если есть различия (кроме проблемы с паролем root, отмеченной в ответе Аарона Лейка), они не соответствуют требованиям разработчиков конкретного дистрибутива Linux.
Алесплин
Ответы:
21
OS X работает так же, как sudoи suв Linux.
sudoэто команда, которая без каких-либо дополнительных параметров запускает команду от имени пользователя root. Например:
% 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
suс другой стороны, переключит текущего пользователя на root (снова без каких-либо дополнительных команд). В приведенном ниже примере мне нужно запустить sudo su, так как я не знаю пароль root для моей системы:
% whoami
alake
% sudo su
$ whoami
root
Основное различие между sudoи suзаключается sudoв том, что команда запускается от имени пользователя root, тогда как она suделает вас пользователем root. Так же, как и другие утилиты командной строки, есть несколько альтернативных способов использовать оба, sudoи su, если вам интересно, вы всегда можете запустить, man <command>например. man sudoчтобы получить больше информации.
В простых языковых терминах sudoможет быть как super user and do. В качестве дополнительного пункта, в OS X, после успешной аутентификации, вы можете использовать sudo без пароля в течение короткого времени (5 минут по умолчанию, если не указано иное sudoers), после чего вам придется снова вводить пароль.
двоичный боб
1
'без дополнительных опций' - довольно значительный квалификатор ... они оба позволят вам стать пользователями, отличными от root ... например, sudo su -lm _wwwпозволят вам иметь такую же оболочку, как если бы пользователь веб-сервера (запустив команду как root, как у него нет действительного пароля)
Joe
2
@ Джо, я решил добавить эту информацию, но для краткости опущен. Как вы описываете, sudoэто довольно надежная утилита, которая охватывает даже базовые функции, что в конечном итоге может сбить с толку или подавить целевую аудиторию, ищущую разницу между sudoи su.
Озеро Аарон,
«Основное различие между sudo и su состоит в том, что sudo запускает команду как root, тогда как su делает вас root» - false, sudo -sзапускает shell («делает вас root») и su -c commandзапускает команду как root.
el.pescado
2
Опять же, ради краткости, я опустил множество альтернативных методов использования sudo. Кроме того, вы не можете сделать su -c commandпо умолчанию на OS X, так как вы не знаете пароль пользователя root. Однако вы можете sudo suизменить пароль su -c command. Я чувствую, что на вопрос был дан ответ, и не было необходимости погружаться глубже, чтобы поочередно использовать sudo и su. Однако я обновлю пост для любопытных людей.
Ответы:
OS X работает так же, как
sudo
иsu
в Linux.sudo
это команда, которая без каких-либо дополнительных параметров запускает команду от имени пользователя root. Например:su
с другой стороны, переключит текущего пользователя на root (снова без каких-либо дополнительных команд). В приведенном ниже примере мне нужно запуститьsudo su
, так как я не знаю пароль root для моей системы:Основное различие между
sudo
иsu
заключаетсяsudo
в том, что команда запускается от имени пользователя root, тогда как онаsu
делает вас пользователем root. Так же, как и другие утилиты командной строки, есть несколько альтернативных способов использовать оба,sudo
иsu
, если вам интересно, вы всегда можете запустить,man <command>
например.man sudo
чтобы получить больше информации.источник
sudo
может быть какsuper user and do
. В качестве дополнительного пункта, в OS X, после успешной аутентификации, вы можете использовать sudo без пароля в течение короткого времени (5 минут по умолчанию, если не указано иноеsudoers
), после чего вам придется снова вводить пароль.sudo su -lm _www
позволят вам иметь такую же оболочку, как если бы пользователь веб-сервера (запустив команду как root, как у него нет действительного пароля)sudo
это довольно надежная утилита, которая охватывает даже базовые функции, что в конечном итоге может сбить с толку или подавить целевую аудиторию, ищущую разницу междуsudo
иsu
.sudo -s
запускает shell («делает вас root») иsu -c command
запускает команду как root.sudo
. Кроме того, вы не можете сделатьsu -c command
по умолчанию на OS X, так как вы не знаете пароль пользователя root. Однако вы можетеsudo su
изменить парольsu -c command
. Я чувствую, что на вопрос был дан ответ, и не было необходимости погружаться глубже, чтобы поочередно использовать sudo и su. Однако я обновлю пост для любопытных людей.