В чем разница между sudo -i и su? [дубликат]

На этот вопрос уже есть ответ здесь:

Кажется, что нет никакой разницы. Когда выполняются команды whoami или id, все они выдают учетные данные root. Это иллюзия? Если учетная запись root по умолчанию отключена в Ubuntu, и поэтому su выдает ошибку аутентификации, тогда зачем разрешать sudo -I

Edit: Извините, ЕДИНСТВЕННОЕ различие, о котором я узнал, заключается в том, что sudo -I запрашивает пароль пользователь, который вызвал команду, и su запрашивает пароль пользователя root или другого целевого пользователя.

Есть ли ДРУГОЕ отличие?

4
задан 16 March 2014 в 06:57

2 ответа

ОТРЕДАКТИРОВАННЫЙ.Примечание: Этот ответ был в большой степени отредактирован начиная с его последнего повторения на основе комментариев Eliah Kagan.

sudo -i выполняет оболочку входа в систему с полномочиями пользователя root, моделируя начальный вход в систему с корнем, действуя подобный su -. Главная разница между sudo -i и su - это sudo -i может быть выполнен с помощью пароля sudoer, в то время как su - должен быть выполнен с паролем корневой учетной записи. Следовательно, если Вы находитесь на значении по умолчанию *buntu установка, где корневой вход в систему отключен, sudo -i может использоваться в то время как su и его варианты не могут.

Если Вы выполняете следующие команды:

$ sudo -i
[sudo] password for <username>: <enter user's password>
# cd ~
# pwd

Вы получите вывод:

/root

Следовательно, Вы видите это sudo -i моделирует начальный корневой вход в систему, включая изменение домашней папки ($HOME) к корню, а не Ваше собственное. Это также означает sudo -i файлы входа в систему чтений как .profile.

Между тем, sudo -s запускает новую оболочку, но не моделируя начальный вход в систему - файлы входа в систему не читаются и $HOME все еще установлен на домашнюю папку Вашего пользователя.

Если Вы выполняете следующие команды:

$ sudo -s
[sudo] password for <username>: <enter user's password>
# cd ~
# pwd

Вы получите вывод:

/home/<username>

От этого Вы видите это sudo -s не моделирует начальный вход в систему и не изменяется $HOME.

0
ответ дан 8 October 2019 в 11:34

sudo -i попытки стать пользователем, пароль которого Вы используете, он выполняет вход в систему того пользователя определенные ресурсы (.profile и т.д.) и пытается работать из корневого каталога пользователя.

su, с другой стороны журналы Вы в как другие пользователи, в корневом каталоге другого пользователя. И , что вход в систему учетной записи определенные ресурсы будут выполнены. Значением по умолчанию su журналы Вы в как root.

я рекомендую использовать sudo -i [более чем 116], если Вы не знаете то, что Вы делаете.

0
ответ дан 8 October 2019 в 11:34

Другие вопросы по тегам:

Похожие вопросы: