Команда: sudo su -


35

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

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

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

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

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

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


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 -' внутри корневой оболочки, вы будете иметь два разных процесса корневой оболочки. окончание внутреннего позволит вам вернуться к внешнему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.