Bash Sudo Command Not Found

Ho impostato una VM usando linux redmine chiavi in mano e sto provando ad SSH nel server per installare altri elementi.

Non sembra riconoscere il comando sudo. Ogni volta che provo a fare sudo qualcosa ricevo un errore che dice:

 -bash: sudo: command not found 

Ho letto da qualche altra parte per digitare “whereis sudo” e loutput era:

 sudo: 

Risposta

Sembra da http://www.turnkeylinux.org/redmine come Redmine, a differenza di Ubuntu, non utilizza sudo per impostazione predefinita. Quale nome utente stai usando per SSH? Se è “root, non è necessario utilizzare sudo, poiché tutto ciò che fai quando accedi tramite SSH al sistema Redmine è fatto come root. Se “è qualcosaltro, come admin, potresti provare a utilizzare il comando su per ottenere un root shell in cui eseguire comandi come root.

Commenti

Risposta

Forse non è installato? Apri il tuo gestore di pacchetti e installa il pacchetto sudo .

Commenti

  • Non era ' installato! Grazie. ' sono abbastanza nuovo su Linux e ho pensato che fosse su tutte le installazioni. Ho solo bisogno del pacchetto sudo o anche sudo-ldap?
  • Non ' non hai bisogno del pacchetto sudo-ldap. Sudo funziona bene sul mio computer e non ' sudo-ldap installato.

Risposta

Primo accesso al tuo account di root. Quindi

$ apt-get install sudo 

Aggiungi il tuo utente esistente al gruppo sudo

$ sudo adduser <user> sudo 

Dovresti quindi accedere come <user> e il comando sudo dovrebbe essere lì.

Risposta

prova a utilizzare il percorso completo

/usr/bin/sudo 

se quel comando funziona, includi / usr / bin / nella variabile env PATH in ~ / .bashrc

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

si spera che funzioni ..

Commenti

  • È molto improbabile che ' sia il problema; /usr/bin sarà quasi certamente nel percorso predefinito. Il problema, come indicato da altre risposte e commenti, è che il comando sudo non è stato ' installato.

Answer

Lerrore si verifica perché il binario che stai tentando di chiamare dalla riga di comando è solo una parte del PERCORSO dellutente corrente variabile, ma non fa parte del PERCORSO dellutente root.

Puoi verificarlo individuando il percorso del binario a cui stai tentando di accedere. Nel mio caso stavo cercando di chiamare “bettercap-ng”. Così ho eseguito,

$ which bettercap-ng

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

I verificato se questa posizione fa parte del PERCORSO del mio utente root.

$ sudo env | grep ^PATH

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

Quindi sudo non riesce a trovare il binario che sto cercando di chiamare dalla riga di comando. Quindi restituisce il comando di errore non trovato.

Puoi indirizzare sudo a utilizzare lutente corrente “s PATH quando si chiama un binario come di seguito.

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

In effetti, si può ricavarne un alias:

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

È anche possibile denominare lalias stesso sudo, sostituendo il sudo originale.

Fare riferimento a questo video per una soluzione passo passo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *