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/binquase certamente estará em seu caminho padrão. O problema, conforme indicado por outras respostas e comentários, é que o comandosudonã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
sudoé uma opção melhor