Bash Sudo -komentoa ei löydy

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *