LINUX.ORG.RU

Разница между sudo -s и sudo -i

 


0

3
sudo -i env > envi
sudo -s env > envs
diff envi envs

1d0
< SHELL=/bin/bash
2a2
> SHELL=/bin/bash
10c10
< PWD=/root
---
> PWD=/home/user/sudo

Разница в переменных окружения почти отсутствует. В чём на практике разница между sudo -i и sudo -s?

★★

В случае sudo -s просто вызывается оболочка, указанная в переменной окружения $SHELL.

В случае sudo -i вызывается оболочка, указанная в /etc/passwd для целевого пользователя, причём вызывается как $SHELL -i. Из этого следует, что она прочтёт и исполнит ещё и profile-файлы (/etc/profile, ~/.bash_profile в случае bash) вдобавок к rc-файлам.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)

sudo -i это почти как su -l, то есть полноценный логин.

sudo -s - просто повышение прав. типа как UAC в винде.

не стоит забывать что sudo нужно не только для того что б рута включать, но и для других юзеров, а там свои особенности могут быть.

PS man sudo

ionanahin ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.