Como mudar para o diretório de propriedade do root se eu tiver o sudo? [duplicado]

3

Eu tenho um usuário de implantação que tem sudo privledges.

Não consigo sudo cd no diretório, mas posso listar como:

sudo ls /root

Como posso cd na pasta ou isso não é possível?

    
por Blankman 10.12.2017 / 20:53

2 respostas

9

Não é possível, porque sudo executa um único comando como root; seu shell ainda pertence ao seu usuário.

O que você pode fazer é abrir um novo shell como root, executando sudo -i ou sudo -s . De 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.

Qualquer um destes lhe dará um novo shell, com privilégios de root, onde você poderá alterar livremente o diretório e executar novos comandos como root.

    
por vidarlo 10.12.2017 / 21:00
8

cd é um comando interno do shell. Você não pode usá-lo diretamente com sudo .

Use

sudo -i

para obter um shell de root e, em seguida, cd na pasta desejada.

Se você não precisa mais de privilégios de root, use

exit

ou Ctrl - D para sair do shell de root.

    
por Florian Diesch 10.12.2017 / 21:01