На этот вопрос уже есть ответ здесь:
Что означает команда sudo -i do и в каких ситуациях она будет использоваться. прочтите его с помощью команды man sudo, но я ищу более подробное описание, которое поможет мне лучше понять.
sudo позволяет Вам команды выполнения в Вашей собственной учетной записи пользователя с полномочиями пользователя root. su позволяет Вам переключить пользователя так, чтобы Вы были на самом деле зарегистрированы как корень.
sudo-s выполняет оболочку с полномочиями пользователя root. sudo-i делает это также, но также и получает среду пользователя root.
Это означает, что определенные для входа в систему файлы ресурсов, такие как .profile, .bashrc или .login будут считаны и выполнены оболочкой.
В основном Вы используете sudo -i
, когда Вы будете знать о выполнении различных команд, которые должны базироваться доступ и не хотят выполнять каждого из них с sudo
. Проиллюстрировать:
$ whoami
terdon
$ sudo -i
[sudo] password for terdon:
# whoami
root
Так, после выполнения sudo -i
все последующие команды, которые Вы выполняете, будут выполнены, как будто Вы выполнили их с sudo
. Вы теперь зарегистрированы как root
и больше не нуждаетесь sudo
для получения полномочий.