Из man sudo
:
-i, --login
Запустите оболочку, указанную в базе данных паролей целевого пользователя. в качестве оболочки входа в систему.
Вы можете получить интерактивную оболочку, запущенную от имени root, используя любой из следующих методов (это полные команды, просто запустите их как есть из существующей оболочки, и они дадут вам оболочку root).
sudo -i
: Дает вам приглашение root с новым окружением оболочки (как если бы root выполнил вход в систему). Также выполняет cd
в домашний каталог root. sudo sh
или sudo bash
: Дает базовую оболочку root, порожденную в окружении вызывающего пользователя (санируется sudo). sudo -s -H
: Дает оболочку и сбрасывает $HOME, но не cd
в $HOME, как sudo -i
. sudo su
: Использует обычный метод su
для получения статуса root, но не требует пароля root. В основном я использую sudo -i
или sudo -s -H
в большинстве случаев в зависимости от того, хочу ли я оказаться в домашнем каталоге root или нет.
Если ваши скрипты используют пути, основанные на расположении вашего домашнего каталога, используйте тильду ~
или переменную окружения, такую как $HOME
, вместо жесткого кодирования абсолютного пути.