Alterar diretório usando o sudo

22

Como mudar para um diretório pertencente ao root?

Se eu fizer: sudo cd RootOwedDir

Eu recebo: sudo cd: command not found

Se eu su root

Recebo authentication failure:, provavelmente porque nunca realmente configurei uma conta root real.

O que eu estou fazendo errado aqui?

usuário desconhecido do google
fonte
Para resumir: tanto de Cyrus "sudo su" e "sudo sh -sc "cd dir_path"(note parm 's' as adições) resolveu o problema Obrigado a todos por sua ajuda..
desconhecido usuário google

Respostas:

20

Em vez disso, tente usar sudo -spara iniciar um shell raiz e depois simplesmente cdpara o diretório
Quando terminar como root, pressione CtrlDou digite exit.

É importante notar que, como root, pode-se facilmente danificar componentes essenciais do sistema. Use com cuidado!

oKtosiTe
fonte
5

Isso porque cdnão é um comando, mas uma função shell integrada; e suespera a senha root. Basta usar:

sudo su

executar um shell com privilégios de root. Digite exitou pressione Ctrl+ Dpara retornar ao shell anterior quando terminar.

cYrus
fonte
2
sudo sué desnecessariamente complicado. sudo -sfaz o sudo iniciar um shell; ou você pode executar sudo bashou sudo zshse não quiser se lembrar da -sopção.
Gilles 'SO- stop be evil'
3
sudo sh -c "cd dir_path"
Wesley Rice
fonte
Isso também não está funcionando para mim. Pode ser porque o diretório que eu quero inserir possui espaços incorporados no nome. Eu tentei variações no sudo sh -c "cd my \ path" sem sorte. Nenhuma mensagem de erro retorna apenas como se tivesse feito algo, mas permaneço no mesmo diretório. sh está instalado no meu sistema, embora eu normalmente use o bash.
usuário desconhecido do Google
@ desconhecido - Eu sempre imaginei que você teria que gerar um subshell para executar os shell shell como root, seja no bash ou no sh simples e antigo. Estou determinado a descobrir isso.
Wesley Rice
Adicionar a opção -s ao longo de -c fez o truque. Obrigado pelo esforço.
usuário desconhecido do Google
1

Você também pode fazer um sudo vimna pasta, ou seja, sudo vim RootOwedDire ele exibirá a visualização do vim para pastas, que mostrará todos os arquivos / pastas que estão nessa pasta. então você pode simplesmente executar o que precisa fora da pasta e executá-lo como normalmente.

Marca
fonte
0

su -depois digite sua senha. Agora você pode apenas entrar no diretório. Lembre-se de que agora você é root, então pressione Ctrl-d antes de fazer qualquer coisa para a qual você não quer ser root.

Unfundednut
fonte
Isso produz um erro de autenticação no Ubuntu.
Wesley Rice
Sério? Eu nunca tive um problema para mim.
Unfundednut
2
Para o OP, certamente, pois ele não possui uma conta raiz adequada.
Wesley Rice
Interessante, estou em uma nova instalação do Ubuntu, nunca 'configurei' um usuário root, no entanto, posso simplesmente sudo -dizer que sou o deus do sistema.
Unfundednut
Sim, acabei de receber um erro de autenticação.
usuário desconhecido do Google
0

Para mim, uma combinação sudoe screenfuncionou:

sudo -iu vagrant screen -mS npm_install bash -c 'cd /vagrant && npm install'

Este comando muda primeiro para o vagrantusuário. Então, como vagrantaltera o diretório para /vagrante é executado npm install.

czerasz
fonte
-2

A maneira mais fácil de fazer isso é habilitar a conta root e usar su para se tornar root. O Ubuntu é muito protetor da conta root devido ao potencial uso indevido, mas às vezes é muito mais fácil usar a conta root em vez do sudo em todas as linhas. Esteja ciente de qual conta você está usando a qualquer momento.

Retirado daqui :

Abra o terminal e digite: sudo passwd root . Quando vir o prompt que diz “Digite a nova senha do UNIX” , digite a senha desejada para o usuário root e confirme-a.

Nesse ponto, você poderá mudar para root usando su e cd no diretório

zcid
fonte
-1. Isso está cheio de errado. O que o GDM tem a ver com alguma coisa? O OP quer 'cd' para um diretório legível apenas pela raiz. Ninguém deve efetuar login como root via GDM.
Wesley Rice
Bom ponto. Eu não li completamente o que estava colando lá.
Zcid
Muito mais fácil do que isso, é permitir um shell raiz com o sudo -s, como já foi dito, e muito melhor do que isso é aprender sobre o sudo, uma ferramenta muito mais flexível e granular do que o su, se bem usado.
Adriano Varoli Piazza