Olen asettanut virtuaalikoneen avaimet käteen -toiminnolla Linux redmine ja yritän SSH: n palvelimelle asentamaan lisää kohteita.
Se ei tunnista tunnistavan sudo-komentoa. Joka kerta kun yritän sudoa jotain, saan virheen sanomalla:
-bash: sudo: command not found
Luin muualta kirjoittaaksesi ”whereis sudo” ja lähtö oli:
sudo:
vastaus
Näyttää siltä: http://www.turnkeylinux.org/redmine , kuten Redmine, toisin kuin Ubuntu, ei käytä sudoa oletuksena. Millä käyttäjänimellä käytät SSH: tä? Jos se on ”s root
, sinun ei tarvitse käyttää sudo
, koska kaikki mitä teet, kun SSHed on sisään Redmine-järjestelmässä, on tehdään nimellä root
. Jos se on jotain muuta, kuten admin
, voit yrittää käyttää su
-komentoa saadaksesi root
-kuori, jossa komennot suoritetaan nimellä root
.
Kommentit
Vastaa
Ehkä sitä ei ole asennettu? Avaa paketinhallinta ja asenna paketti sudo .
Kommentit
- Sitä ei ollut ' t asennettu! Kiitos. ' Olin melko uusi Linuxille ja oletin, että se oli kaikissa asennuksissa. Tarvitsenko vain sudo-paketin vai sudo-ldap?
- Et tarvitse ' et tarvitse sudo-ldap-pakettia. Sudo toimii hyvin tietokoneellani, enkä ' ole asentanut sudo-ldapia.
Vastaa
Kirjaudu ensin juuritilillesi. Sitten
$ apt-get install sudo
Lisää nykyinen käyttäjä ryhmään sudo
$ sudo adduser <user> sudo
Sinun on kirjauduttava sisään nimellä <user>
, ja komennon sudo
pitäisi olla siellä.
vastaus
yritä käyttää koko polkua
/usr/bin/sudo
jos komento toimii, sisällytä / usr / bin / env-muuttujaasi PATH tiedostoon ~ / .bashrc
echo "export PATH="$PATH:/usr/bin"" >> ~/.bashrc
toivottavasti toimii ..
Kommentit
- Se, että ' ei todennäköisesti ole ongelma;
/usr/bin
tulee melkein varmasti oletuspolulle. Muiden vastausten ja kommenttien osoittama ongelma on, ettäsudo
-komentoa ei ollut asennettu lainkaan '.
Vastaus
Virhe tapahtuu, koska binääri, johon yrität soittaa komentoriviltä, on vain osa nykyisen käyttäjän polkua muuttuja, mutta ei osa pääkäyttäjän PATH: ia.
Voit tarkistaa tämän etsimällä binaarin polun, jota yrität käyttää. Minun tapauksessani yritin kutsua ”bettercap-ng”. Joten juoksin,
$ which bettercap-ng
output: /home/user/work/bin/bettercap
I tarkisti onko tämä sijainti osa pääkäyttäjän polkua.
$ sudo env | grep ^PATH
output: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
Joten sudo ei löydä binääriä, jota yritän kutsua komentoriviltä. Siksi palauttaa virhekomennon, jota ei löydy.
Voit ohjata sudon käyttämään nykyistä käyttäjää ”PATH, kun kutsutaan alla olevaa kaltaista binaaria.
$ sudo -E env "PATH=$PATH" [command] [arguments]
Itse asiassa siitä voidaan tehdä alias:
$ alias mysudo="sudo -E env "PATH=$PATH""
Alias voidaan myös nimetä itse sudoksi korvaamalla alkuperäinen sudo.
Katso tähän videoon vaiheittainen ratkaisu
sudo
on parempi vaihtoehto