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
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 asudo
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
sudo
jobb megoldás