if ($answer_counter == 1): ?>
endif; ?>
Основное различие между этими командами заключается в том, как они ограничивают доступ к их функциям.
su
(что означает «подставить пользователя» или «переключить пользователя») - делает именно это, он запускает другой экземпляр оболочки с привилегиями целевого пользователя. Чтобы убедиться, что у вас есть права на это, он запрашивает пароль целевого пользователя . Итак, чтобы стать root, вам нужно знать пароль root. Если на вашем компьютере есть несколько пользователей, которым необходимо запускать команды от имени root, все они должны знать пароль root - обратите внимание, что это будет тот же пароль. Если вам нужно отменить права администратора от одного из пользователей, вам нужно изменить пароль root и рассказать об этом только тем людям, которым необходимо сохранить доступ - беспорядочно.
sudo
(хм ... что мнемоника? Super-User-DO?) полностью отличается. Он использует файл конфигурации (/ etc / sudoers), в котором перечислены права пользователей на определенные действия (запуск команд с правами администратора и т. Д.). При вызове он запрашивает пароль пользователя, который начал его - обеспечить, чтобы человек на терминале действительно был тем же «Джо», который указан в /etc/sudoers
. Чтобы отменить права администратора от человека, вам просто нужно отредактировать файл конфигурации (или удалить пользователя из группы, указанной в этом конфиге). Это приводит к значительно более эффективному управлению привилегиями.
В результате этого во многих системах на базе Debian root
у пользователя не установлен пароль - т. е. невозможно напрямую войти в систему с правами root.
Кроме того, /etc/sudoers
позволяет указать некоторые дополнительные параметры - то есть пользователь X может выполнять только программу Y и т. д.
Часто используемая комбинация sudo su
работает следующим образом: first sudo
запрашивает у вас ваш пароль, и, если вам разрешено это сделать, вызывается следующая команда ( su
) в качестве суперпользователя. Поскольку su
вызывается root
, вам не требуется вводить пароль целевого пользователя. Таким образом, sudo su
позволяет открывать оболочку как другой пользователь (включая root), если вы разрешаете суперпользователю доступ к файлу /etc/sudoers
.