Насколько я понимаю, они делают то же самое: они спрашивают мой пароль (если мне разрешено в / etc / sudoers) и дают мне оболочку входа в систему как root.
Есть ли разница между ними?
sudo su -
sudo -i
Кроме того, в чем разница между
sudo su
sudo -s
Я думаю, что они оба спрашивают мой пароль и дают мне оболочку с моими старыми переменными среды.
linux
command-line
sudo
su
Andres Riofrio
источник
источник
Ответы:
Существует небольшая разница в парах команд, которые вас интересуют.
Первая пара пытается смоделировать новый вход в систему как новый пользователь - может быть некоторая разница в предоставляемых переменных среды, так как
sudo su -
собирается попытаться сохранить существующие переменные среды, в то время какsudo -i
установит очень специфические переменные окружения и удалит все остальные (проверьте специфические страницы вашего руководства)Для второй пары разница в поведении такова:
sudo su
всегда будет запускать оболочку, указанную в/etc/passwd
, в то время какsudo -s
проверимSHELL
сначала переменная окружения, а оболочка выполняется только в/etc/passwd
еслиSHELL
не установленисточник
su -
"/"sudo su -
"также очень ограничен, может быть, похоже на то, чтоsudo -i
делает.sudo su -
собирается попытаться сохранить существующие переменные среды ? Я прочитал этоsu -
делает оболочку оболочкой для входа & Амп; изменяет переменные среды на переменные нового пользователя источник