No se ha encontrado el comando Bash Sudo

He configurado una máquina virtual usando linux redmine llave en mano y estoy intentando SSH en el servidor para instalar algunos elementos más.

No parece reconocer el comando sudo. Cada vez que intento sudo algo, aparece un error que dice:

 -bash: sudo: command not found 

Leí en otro lugar para escribir «whereis sudo» y el resultado fue:

 sudo: 

Responder

Se ve desde http://www.turnkeylinux.org/redmine como Redmine, a diferencia de Ubuntu, no usa sudo por defecto. ¿Qué nombre de usuario estás usando para SSH? Si es root, entonces no es necesario que uses sudo, ya que todo lo que haces cuando estás conectado por SSH al sistema Redmine es hecho como root. Si se trata de otra cosa, como admin, entonces podría intentar usar el comando su para obtener un root shell en el que ejecutar comandos como root.

Comentarios

Responder

¿Quizás no esté instalado? Abra su administrador de paquetes e instale el paquete sudo .

Comentarios

  • ¡No estaba ' t instalado! Gracias. Soy ' bastante nuevo en Linux y asumí que estaba en todas las instalaciones. ¿Solo necesito el paquete sudo o sudo-ldap también?
  • No ' no necesita el paquete sudo-ldap. Sudo funciona bien en mi computadora y no ' no tengo instalado sudo-ldap.

Respuesta

Primero inicie sesión en su cuenta root. Luego

$ apt-get install sudo 

Agregue su usuario existente al grupo sudo

$ sudo adduser <user> sudo 

Debería iniciar sesión como <user>, y el comando sudo debería estar allí.

Respuesta

intente utilizar la ruta completa

/usr/bin/sudo 

si ese comando funciona, incluye / usr / bin / en tu variable env PATH en ~ / .bashrc

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

con suerte funciona ..

Comentarios

  • Es muy poco probable que ' sea el problema; /usr/bin es casi seguro que estará en su ruta predeterminada. El problema, como lo indican otras respuestas y comentarios, es que el comando sudo no estaba ' t instalado.

Responder

El error ocurre porque el binario al que está intentando llamar desde la línea de comando es solo una parte de la RUTA del usuario actual variable, pero no forma parte de la RUTA del usuario root.

Puede verificar esto localizando la ruta del binario al que está intentando acceder. En mi caso, estaba intentando llamar a «bettercap-ng». Entonces corrí,

$ which bettercap-ng

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

I comprobé si esta ubicación es parte de la RUTA de mi usuario raíz.

$ sudo env | grep ^PATH

salida: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Entonces, sudo no puede encontrar el binario que estoy tratando de llamar desde la línea de comandos. Por lo tanto, devuelve el comando de error no encontrado.

Puede indicar a sudo que use el usuario actual «s PATH cuando se llama a un binario como a continuación.

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

De hecho, uno puede crear un alias con él:

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

También es posible nombrar el propio alias sudo, reemplazando el sudo original.

Consulte a este video para obtener una solución paso a paso

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *