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 comandosudo
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
sudo
è unopzione migliore