Как перейти в каталог, принадлежащий пользователю 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, чтобы выйти из корневой оболочки.