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 comandosudo
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
sudo
é uma opção melhor