Как перейти в каталог, принадлежащий пользователю root, если у меня есть sudo?
У меня есть пользователь развертывания, который имеет sudo privledges.
Я не могу sudo cd в каталог, но я могу перечислить его как:
sudo ls /root
Как я могу cd в папку, или это невозможно?
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.
cd это встроенная команда оболочки Вы не можете использовать его напрямую с sudo,
использование
sudo -i
получить корневую оболочку, а затем cd в папку, которую вы хотите.
Если вам больше не нужны привилегии root, используйте
exit
или Ctrl-D, чтобы выйти из корневой оболочки.