Команда: sudo su -

35

Я понимаю что su -делает

  • регистрирует вас в root с корневой средой
  • (в отличие от того, suчто входит в систему с правами root)

И я понимаю, что sudoделает

  • вы болеете за одну команду

Но я не уверен, что это делает: sudo su -

Любой желающий уточнить

sixtyfootersdude
источник
2
StackOverflow предназначен для того, чтобы задавать вопросы, связанные с программированием. Сайт, который вы ищете (по крайней мере, для этого вопроса) - SuperUser.com

Ответы:

53

В дополнение к тому, что вы сказали, suтребуется пароль root и sudoпароль пользователя

Поэтому sudo su -вы попадете в корневую среду, но попросите ввести пароль пользователя вместо пароля root (как только sudo предоставит вам привилегии root, его su -можно будет запускать без пароля).

Тайлер МакГенри
источник
1
+1 хорошее объяснение. Если я настрою свой sudo, могу ли я сделать так, чтобы он не требовал пароля? Что заставило бы su требовать «без пароля»?
sixtyfootersdude
1
Четкое объяснение
Тиягу ATR
4
обратите внимание, что sudo -iэто несколько более прямой способ сделать то же самое
Сэм Мейсон,
7

Если вам разрешено (настройка sudo) использовать эту suкоманду, она запрашивает ваш пароль, а затем регистрирует вас как root.

Тангенс
источник
2

Краткий ответ: вы получите корневую оболочку.

Длинный ответ: это отличается от выполнения 'su -' внутри корневой оболочки. Как только вы выходите (например, Ctrl-D) из 'sudo su -', выполнение sudo заканчивается.

Наблюдаемый на Debian Wheezy с htop:

'sudo su -' имеет дочернего элемента от 'su -', а 'su -' имеет дочернего элемента от '-su'.

Как упоминалось выше, пользователь root может делать 'su -' без ввода пароля, поэтому, выполняя 'su -' внутри корневой оболочки, вы будете иметь два разных процесса корневой оболочки. окончание внутреннего позволит вам вернуться к внешнему.

CL
источник