Сравнение sudo su vs su- vs sudo -i
su
su вызывает переопределенную оболочку другого пользователя.
По умолчанию это суперпользователь (UID = 0)
Это вызывает повторную регистрацию пользователя в системе.
sudo
sudo - правила в /etc/sudoers пароль текущего пользователя
sudoers syntax
su
su -> пароль root -> root
USER = user
HOME = /root
USER_VAR = user .bashrc
USER_PROFILE_VAR = user .bash_profile
ROOT_VAR = root .bashrc
ROOT_VAR_PROFILE =
Non-login shell
выход через exit
sudo su
sudo su -> root
USER = root
HOME = /root
USER_VAR =
USER_PROFILE_VAR =
ROOT_VAR = root .bashrc
ROOT_VAR_PROFILE =
Non-login shell
exit
лучше чем su
sudo -s (shell)
sudo -s -> root
USER = root
HOME = /root
USER_VAR =
USER_PROFILE_VAR =
ROOT_VAR = from root .bashrc
ROOT_VAR_PROFILE =
Non-login shell
su -
su - -> пароль root -> root
USER = root
HOME = /root
USER_VAR =
USER_PROFILE_VAR =
ROOT_VAR = root .bashrc
ROOT_VAR_PROFILE = from root .bash_profile
Login shell
новая логин сессия
выход через logout
sudo su -
sudo su - -> пароль текущего пользователя -> root
USER = root
HOME = /root
USER_VAR =
USER_PROFILE_VAR =
ROOT_VAR = root .bashrc
ROOT_VAR_PROFILE = from root .bash_profile
Login shell
почти как su -
sudo -i
sudo -i -> root
USER = root
HOME = /root
USER_VAR =
USER_PROFILE_VAR =
ROOT_VAR = root .bashrc
ROOT_VAR_PROFILE = from root .bash_profile
Login shell
Лаконичен и создает полноценную login сессию root