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ă comandasudo
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
sudo
este o opțiune mai bună