4

Насколько я понимаю, они делают то же самое: они спрашивают мой пароль (если мне разрешено в /etc /sudoers) и дают мне оболочку входа в систему как root.

Есть ли разница между ними?

sudo su -
sudo -i

Кроме того, в чем разница между

sudo su
sudo -s

Я думаю, что они оба спрашивают мой пароль и дают мне оболочку с моими старыми переменными среды.

1 ответ1

4

Существует небольшая разница в парах команд, которые вас интересуют.

Первая пара пытается смоделировать новый вход в систему как новый пользователь - может быть некоторая разница в предоставляемых переменных среды, так как sudo su - попытается сохранить существующие переменные среды, в то время как sudo -i установит очень специфические переменные среды и удалите все остальные (проверьте ваши man-страницы для уточнения).

Для второй пары различие в поведении таково: sudo su всегда запускает оболочку, указанную в файле пользователя /etc/passwd , тогда как sudo -s сначала проверяет переменную среды SHELL и выполняет оболочку только в /etc/passwd если SHELL не установлен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .