A Bash Sudo parancs nem található

Beállítottam egy virtuális gépet kulcsrakész linux redmine használatával, és megpróbálok SSH-t a kiszolgálóra további elemek telepítéséhez.

Úgy tűnik, hogy nem ismeri fel a sudo parancsot. Minden alkalommal, amikor megpróbálok valamit sudózni, hibaüzenetet kapok:

 -bash: sudo: command not found 

Valahol másutt olvastam, hogy beírjam a “whereis sudo” szót, és a kimenet:

 sudo: 

Válasz

Úgy néz ki, hogy http://www.turnkeylinux.org/redmine , mint a Redmine, az Ubuntutól eltérően alapértelmezés szerint nem használja a sudót. Milyen felhasználónévvel használja az SSH-t? Ha “s root, akkor nem kell használni a sudo -t, mivel minden, amit akkor tesz, amikor SSH-t használ a Redmine rendszerhez, root néven történik. Ha valami másról van szó, például admin, akkor megpróbálhatja a su parancsot egy shell, amelyben a parancsokat root néven futtathatja.

Megjegyzések

  • Mit kell tenni tedd, amikor a szkript rendelkezik sudo parancsokkal. Velem történik az mkusb segítségével. Jobb, ha a sudo-t a későbbi kényelem érdekében telepítem.
  • Google-felhasználók / Tanulók : míg a fentiek működni fognak, A Debian wiki szerint néha a sudo jobb megoldás

Válasz

Lehet, hogy nincs telepítve? Nyissa meg a csomagkezelőt, és telepítse a sudo csomagot.

Megjegyzések

  • Nem volt telepítve '! Köszönöm. ' Nagyon új vagyok a Linux számára, és csak azt feltételeztem, hogy minden telepítésen megtalálható. Szükségem van csak a sudo csomagra vagy a sudo-ldap-ra is?
  • Nem kell ' szükség a sudo-ldap csomagra. A Sudo jól működik a számítógépemen, és nincs ' nincs telepítve a sudo-ldap.

Válasz

Első bejelentkezés a root fiókba. Ezután

$ apt-get install sudo 

Adja hozzá meglévő felhasználóját a sudo

$ sudo adduser <user> sudo 

Ezután be kell jelentkeznie <user> néven, és a sudo parancsnak ott kell lennie.

Válasz

próbálja használni a teljes elérési utat

/usr/bin/sudo 

ha ez a parancs működik, akkor vegye fel a / usr / bin / parancsot a PATH env változóba a ~ / .bashrc fájlban

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

remélhetőleg működik ..

Megjegyzések

  • Ez ' nem valószínű, hogy ez jelentené a problémát; A /usr/bin szinte biztosan az alapértelmezett útvonalon lesz. A probléma, amint azt más válaszok és megjegyzések is jelzik, az, hogy a sudo parancsot egyáltalán nem telepítették '.

Válasz

A hiba azért következik be, mert a bináris, amelyet a parancssorból próbál hívni, csak az aktuális felhasználó PATH része változó, de nem része a root felhasználó PATH-jának.

Ezt ellenőrizheti az elérni kívánt bináris fájl elérési útjának megkeresésével. Az én esetemben megpróbáltam “bettercap-ng” -nek nevezni. Szóval futottam,

$ which bettercap-ng

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

I ellenőrizte, hogy ez a hely része-e a root felhasználó PATH-jának.

$ sudo env | grep ^PATH

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

Tehát a sudo nem találja meg azt a bináris fájlt, amelyet a parancssorból próbálok meghívni. Ezért a hiba parancsot nem találja.

A sudo-t az aktuális felhasználó használatára irányíthatja “s PATH az alábbi bináris fájl meghívásakor.

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

Valójában álnevet lehet csinálni belőle:

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

Az álnevet is sudo-nak nevezhetjük, helyettesítve az eredeti sudót.

Kérjük, olvassa el ehhez a videóhoz lépésről lépésre

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük