Как изменить каталог, принадлежащий root, если у меня есть sudo? [dубликат]

Вы можете использовать комбинацию alt + esc.

Это не так эстетично, как alt + вкладка, она не показывает наложение с иконками приложений / окнами. Но он выполняет эту работу, он просто переключается на следующее окно и т. Д.

3
задан 11 December 2017 в 02:59

4 ответа

Это невозможно, потому что sudo запускает одну команду как root; ваша оболочка по-прежнему принадлежит вашему пользователю.

Что вы можете сделать, так это открыть новую оболочку как root, выполнив sudo -i или sudo -s. Из man sudo:

-i, --login Run the shell specified by the target user's password data- base entry as a login shell. [...] -s, --shell Run the shell specified by the SHELL environment variable if it is set or the shell specified by the invoking user's pass- word database entry. If a command is specified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed.

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

9
ответ дан 18 July 2018 в 01:26

cd - встроенная команда оболочки. Вы не можете использовать его напрямую с помощью sudo.

Используйте

sudo -i

, чтобы получить корневую оболочку, а затем cd в нужную папку.

Если вам больше не нужны привилегии root, используйте

exit

или Ctrl-D для выхода из корневой оболочки.

8
ответ дан 18 July 2018 в 01:26

cd - встроенная команда оболочки. Вы не можете использовать его напрямую с помощью sudo.

Используйте

sudo -i

, чтобы получить корневую оболочку, а затем cd в нужную папку.

Если вам больше не нужны привилегии root, используйте

exit

или Ctrl-D для выхода из корневой оболочки.

8
ответ дан 24 July 2018 в 17:23

Это невозможно, потому что sudo запускает одну команду как root; ваша оболочка по-прежнему принадлежит вашему пользователю.

Что вы можете сделать, так это открыть новую оболочку как root, выполнив sudo -i или sudo -s. Из man sudo:

-i, --login Run the shell specified by the target user's password data- base entry as a login shell. [...] -s, --shell Run the shell specified by the SHELL environment variable if it is set or the shell specified by the invoking user's pass- word database entry. If a command is specified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed.

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

9
ответ дан 24 July 2018 в 17:23

Другие вопросы по тегам:

Похожие вопросы: