Comando Bash Sudo não encontrado

30

Eu configurei uma máquina virtual usando o turnkey linux redmine e estou tentando conectar o SSH ao servidor para instalar mais alguns itens.

Parece não estar reconhecendo o comando sudo. Toda vez que tento suar algo, recebo um erro dizendo:

 -bash: sudo: command not found

Eu li em outro lugar para digitar 'whereis sudo' e a saída foi:

 sudo:

Não tenho certeza do que isso faz, mas espero que isso ajude no diagnóstico: -)

    
por svick 29.10.2011 / 19:00

5 respostas

18

Parece que o link , como o Redmine, ao contrário do Ubuntu, não usa o sudo por padrão. Qual nome de usuário você está usando para o SSH? Se for root , você não precisará usar sudo , já que tudo que você faz quando SSHed no 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 .

    
por 29.10.2011 / 19:09
40

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

    
por 29.10.2011 / 19:07
5

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

esperamos que funcione ..

    
por 29.10.2011 / 19:06
3

Primeiro, faça login na sua conta root. Então

$ apt-get install sudo

Adicione seu usuário existente ao grupo sudo

$ sudo adduser <user> sudo

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

    
por 12.01.2018 / 11:09
1

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

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

$ which bettercap-ng

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

Eu verifiquei se esse local é 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

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

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

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

Na verdade, pode-se criar um alias:

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

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

Por favor, consulte este vídeo para a solução passo a passo

    
por 08.03.2018 / 10:46

Tags