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

У меня есть пользователь развертывания с правами sudo .

Я не могу sudo cd войти в каталог, но могу перечислить его следующим образом:

sudo ls /root

Как мне cd поместить в папку, или это невозможно?

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

2 ответа

Это невозможно, потому что 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
ответ дан 11 December 2017 в 01:59

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

Используйте

sudo -i

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

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

exit

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

8
ответ дан 11 December 2017 в 01:59

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

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