Этот вопрос уже здесь есть ответ:
Что делает эта команда? sudo -i?
Я не уверен, что мне следовало писать только этот вопрос, но, поскольку я новичок в Linux и у меня гораздо больше вопросов и сомнений, я решил продолжить и спросить. Думаю, это не должно повредить.
И заранее большое спасибо за помощь :)
sudo -i
запускает другую сессию удара как корень и использует каталог /root
в качестве корневого каталога. Если Вы хотите ввести корневую оболочку, необходимо почти когда-либо использовать sudo -i
, Чтобы использовать каталог текущего пользователя в качестве домашнего, использовать sudo -s
. Никогда не запускают приложения GUI от оболочки, запущенной с sudo -s
. процесс может передать владение некоторых важных файлов пользователю root, таким образом, Вы не можете больше использовать их!. Так использование sudo -i
для ввода корневых оболочек Вы хотите выполнить приложения GUI от.
, Если Вы просто хотите выполнить программу как корень, используйте sudo program
для программ командной строки и gksudo program
для приложений GUI.
Поведение sudo -i
хорошо документируется в man sudo
(где-нибудь в строке 137):
-i, --login Run the shell specified by the target user's password data‐ base entry as a login shell. This means that login-specific resource files such as .profile or .login will be read by the shell. If a command is specified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. The command is run with an environment similar to the one a user would receive at log in. The Command Environment section in the sudoers(5) manual documents how the -i option affects the environment in which a command is run when the sudoers policy is in use.
См. также: