Comanda Bash Sudo nu a fost găsită

Am configurat o mașină virtuală folosind linia de cheie Linux redmine și încerc să folosesc SSH pe server pentru a mai instala câteva elemente.

Nu pare să recunoască comanda sudo. De fiecare dată când încerc să sudo ceva primesc o eroare spunând:

 -bash: sudo: command not found 

Am citit în altă parte pentru a tasta „whereis sudo” și rezultatul a fost:

 sudo: 

Răspuns

Se pare din http://www.turnkeylinux.org/redmine ca Redmine, spre deosebire de Ubuntu, nu folosește sudo în mod implicit. În ce nume de utilizator folosiți SSH? Dacă este „s root, atunci nu trebuie să utilizați sudo, așa cum faceți tot ce faceți când SSHed în sistemul Redmine este realizat ca root. Dacă este „altceva, cum ar fi admin, atunci puteți încerca să utilizați comanda su pentru a obține o root shell în care să executați comenzi ca root.

Comentarii

Răspuns

Poate că nu este instalat? Deschideți managerul de pachete și instalați pachetul sudo .

Comentarii

  • Nu a fost instalat '! Mulțumiri. ' sunt destul de nou pentru Linux și tocmai am presupus că este pe toate instalațiile. Am nevoie doar de pachetul sudo sau sudo-ldap?
  • Nu aveți nevoie de ' nu aveți nevoie de pachetul sudo-ldap. Sudo funcționează bine pe computerul meu și nu ' nu am sudo-ldap instalat.

Răspunde

Mai întâi conectați-vă la contul dvs. root. Apoi

$ apt-get install sudo 

Adăugați utilizatorul dvs. existent în grup sudo

$ sudo adduser <user> sudo 

Apoi ar trebui să vă conectați ca <user>, iar comanda sudo ar trebui să fie acolo.

Răspuns

încearcă să folosești calea completă

/usr/bin/sudo 

dacă acea comandă funcționează, atunci includeți / usr / bin / în variabila dvs. PAT PAT în ~ / .bashrc

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

sperăm că funcționează ..

Comentarii

  • Este foarte puțin probabil ca ' să fie problema; /usr/bin aproape sigur va fi în calea dvs. implicită. Problema, așa cum indică alte răspunsuri și comentarii, este că comanda sudo nu a fost instalată deloc. ' / ul>

Răspuns

Eroarea se întâmplă deoarece binarul pe care încercați să-l apelați din linia de comandă este doar o parte a PATH-ului actual al utilizatorului variabilă, dar nu face parte din PATH-ul utilizatorului root.

Puteți verifica acest lucru localizând calea binarului pe care încercați să îl accesați. În cazul meu, încercam să numesc „bettercap-ng”. Așa că am fugit,

$ which bettercap-ng

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

I am verificat dacă această locație face parte din PATH-ul utilizatorului meu root.

$ sudo env | grep ^PATH

ieșire: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

Deci, sudo nu poate găsi binarul pe care încerc să îl apelez din linia de comandă. Prin urmare, returnează comanda de eroare care nu a fost găsită.

Puteți direcționa sudo să utilizeze utilizatorul curent „s PATH când se apelează un binar ca mai jos.

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

De fapt, se poate face un alias din acesta:

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

De asemenea, este posibil să numiți aliasul în sine sudo, înlocuind sudo-ul original.

Vă rugăm să consultați la acest videoclip pentru soluție pas cu pas

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *