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/binaproape sigur va fi în calea dvs. implicită. Problema, așa cum indică alte răspunsuri și comentarii, este că comandasudonu 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
sudoeste o opțiune mai bună