Попробуй бота учителя Linux и DevOPS. Он научит тебя базовым командам Linux. Вот ссылка Курсы Linux и DevOPS Бесплатный урок
Основное различие между этими командами заключается в том, как они ограничивают доступ к своим функциям.
su
(что означает "заменить пользователя" или "сменить пользователя") - делает именно это, он запускает другой экземпляр оболочки с привилегиями целевого пользователя. Чтобы убедиться, что у вас есть права на это, он запрашивает у вас пароль целевого пользователя. Итак, чтобы стать root, вам нужно знать пароль root. Если на вашем компьютере есть несколько пользователей, которым необходимо выполнять команды от имени root, все они должны знать пароль root - обратите внимание, что это будет один и тот же пароль. Если вам нужно отозвать права администратора у одного из пользователей, вам нужно изменить пароль root и сообщить его только тем людям, которым необходимо сохранить доступ - беспорядочный.
sudo
(хм... что это за мнемоника? Суперпользователь-ДЕЛАТЬ?) это совершенно другое дело. Он использует конфигурационный файл (/etc/sudoers), в котором перечислены пользователи, имеющие права на определенные действия (запуск команд от имени root и т.д.). При вызове он запрашивает пароль пользователя, который его запустил - чтобы убедиться, что человек на терминале действительно тот самый "джо", который указан в /etc/sudoers
. Чтобы отозвать права администратора у пользователя, вам просто нужно отредактировать конфигурационный файл (или удалить пользователя из группы, которая указана в этой конфигурации). Это приводит к гораздо более чистому управлению привилегиями.
В результате этого во многих системах на базе Debian root
пользователь не имеет установленного пароля - т.е. невозможно войти в систему от имени пользователя root напрямую.
Также, /etc/sudoers
позволяет указать некоторые дополнительные параметры - например, пользователь X может запускать только программу Y и т.д.
Часто используемый sudo su
комбинация работает следующим образом: сначала sudo
просит вас о твой пароль и, если вам разрешено это сделать, вызывает следующую команду (su
) в качестве суперпользователя. Потому что su
вызывается с помощью root
, это не требует от вас ввода пароля целевого пользователя. Так, sudo su
позволяет вам открывать оболочку от имени другого пользователя (включая root), если вам разрешен доступ суперпользователя с помощью /etc/sudoers
файл.