В чем разница между sudo su - и sudo -i?

4

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

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

sudo su -
sudo -i

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

sudo su
sudo -s

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

Andres Riofrio
источник
Также смотрите & lt; askubuntu.com/questions/70534/... & gt; и & lt; superuser.com/questions/105367/command-sudo-su & GT ;.
Andres Riofrio

Ответы:

4

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

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

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

Darth Android
источник
Обратите внимание, что набор переменных сохраняется su - "/" sudo su - "также очень ограничен, может быть, похоже на то, что sudo -i делает.
Stéphane Gimenez
sudo su - собирается попытаться сохранить существующие переменные среды ? Я прочитал это su - делает оболочку оболочкой для входа & Амп; изменяет переменные среды на переменные нового пользователя источник
A.D.