Comando Bash Sudo não encontrado

Eu configurei uma VM usando linux redmine turnkey e estou tentando fazer SSH no servidor para instalar mais alguns itens.

Ele não parece estar reconhecendo o comando sudo. Toda vez que tento fazer algo sudo, recebo um erro dizendo:

 -bash: sudo: command not found 

Eu li em outro lugar para digitar “whereis sudo” e o resultado foi:

 sudo: 

Resposta

Parece de http://www.turnkeylinux.org/redmine como o Redmine, ao contrário do Ubuntu, não usa sudo por padrão. Qual nome de usuário você está usando para fazer SSH? Se for “s root, então você não precisa usar sudo, pois tudo que você faz quando o SSHed para o sistema Redmine é feito como root. Se for outra coisa, como admin, você pode tentar usar o comando su para obter um root shell no qual executar comandos como root.

Comentários

Resposta

Talvez não esteja instalado? Abra seu gerenciador de pacotes e instale o pacote sudo .

Comentários

  • Não foi ' instalado! Obrigado. Eu ' sou muito novo no Linux e presumi que estava em todas as instalações. Eu só preciso do pacote sudo ou sudo-ldap também?
  • Você não ' não precisa do pacote sudo-ldap. O sudo funciona bem no meu computador e eu não ' não tenho o sudo-ldap instalado.

Resposta

Primeiro acesse sua conta root. Em seguida,

$ apt-get install sudo 

Adicione seu usuário existente ao grupo sudo

$ sudo adduser <user> sudo 

Você deve então fazer o login como <user>, e o comando sudo deve estar lá.

Resposta

tente usar o caminho completo

/usr/bin/sudo 

se esse comando funcionar, inclua / usr / bin / em sua variável env PATH em ~ / .bashrc

echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc 

espero que funcione ..

Comentários

  • É muito improvável que ' seja o problema; /usr/bin quase certamente estará em seu caminho padrão. O problema, conforme indicado por outras respostas e comentários, é que o comando sudo não foi ' nem instalado.

Resposta

O erro ocorre porque o binário que você está tentando chamar da linha de comando é apenas parte do PATH do usuário atual variável, mas não faz parte do PATH do usuário root.

Você pode verificar isso localizando o caminho do binário que está tentando acessar. No meu caso, eu estava tentando chamar de “bettercap-ng”. Então eu corri,

$ which bettercap-ng

output: /home/user/work/bin/bettercap

Eu verifiquei se este local faz parte do PATH do meu usuário root.

$ sudo env | grep ^PATH

saída: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Portanto, sudo não consegue encontrar o binário que estou tentando chamar da linha de comando. Portanto, retorna o comando de erro não encontrado.

Você pode direcionar o sudo para usar o usuário atual “s PATH ao chamar um binário como abaixo.

$ sudo -E env "PATH=$PATH" [command] [arguments]

Na verdade, pode-se fazer um alias dele:

$ alias mysudo="sudo -E env "PATH=$PATH""

Também é possível nomear o próprio alias sudo, substituindo o sudo original.

Consulte para este vídeo para obter uma solução passo a passo

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *