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 comandosudo
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
sudo
es una mejor opción