Каковы технические различия между ними? Единственное, что я заметил, это то, что
sudo su
требует от вас ввести свой собственный пароль (при условии, что вы не root)
В то время как
su root
требует от вас введите пароль пользователя root. Однако оба, похоже, входят в учетную запись пользователя root.
Между ними есть небольшая разница. su root
(которое можно сократить до su
) запускает команду su как пользователь, который ее вызвал. sudo
запускает указанную команду (su
) как root. Запуск su
от имени пользователя root по сути является запретом, хотя, вероятно, он запускает новую оболочку. Бег sudo -i
- более чистый (на мой взгляд) способ бега sudo su
.
Кроме того, как указывалось ранее, при установке Ubuntu по умолчанию пароль root отсутствует, поэтому сам по себе вызов su
завершится неудачей.
Вторая команда не может быть выполнена в установке Ubuntu по умолчанию, где учетная запись root
не включена.
Но если предположить, что вы разблокировали учетную запись root
, дав ему пароль, я думаю, что эти две команды могут различаться только в зависимости от среды и набора переменных оболочки. Сравните выходные данные env
в двух ситуациях и, возможно, также выходные данные set
, чтобы увидеть различия.
Еще одно отличие; Команда sudo использует ВАШ пароль, и вы должны быть авторизованы в файле / etc / sudoers. Файл sudoers определяет, какие команды вам разрешено выполнять с помощью sudo. Команда su использует пароль ROOT. который должен быть известен.
В зависимости от опций вы можете подобрать корни окружения или перенести свое вперед.
Я использую "sudo bash", чтобы получить корневую оболочку. Это почти идентично (может быть, я не уверен) "sudo -i". Среда управляется так, как это "sudo su - other_user" получает среду для other_user. Но "sudo su other_user" переносит ваше окружение под UID другого_пользователя. Это означает, что ваши псевдонимы и так далее будут доступны.
Кроме того, результаты аудита отличаются в журналах аудита при использовании su и sudo. Больше возможностей с sudo. Наконец, для su вы даете пароль пользователя root и испытываете трудности при обслуживании. Если вы авторизуете людей с помощью sudo, вы просто обновляете файл sudoers, чтобы добавлять или удалять людей, и им нужно только запомнить свой собственный пароль. Sudoers также позволяет вам решать, что могут делать другие.
sudo -i - это то, как ты это делаешь, по крайней мере, с 11.00, не уверенный ни до, ни после 12.04.
переносит ваше окружение вперед под UID другого_пользователя. как сказано ранее