Mitä komento 'bash' tekee?

bash-juttu

Asennan LAMP-pakettia tämän ohjeen mukaan https://linuxconfig.org/how-to-install-lamp-ubuntu-18-04-bionic-beaver-linux-apache-mysql-php

Tuossa kiinnitti huomiota bash-komennon käyttö kohdassa "Test your LAMP Install".

sudo bash -c "echo -e '<?php\nphpinfo();\n?>' > /var/www/html/phpinfo.php"

Miksi tuo bash-komento on tuossa välissä? Eikö saman olisi saanut ilmankin? Kokeilin ajaa pelkän bash-komennon ilman parametrejä, ja se ei tehnyt mitään.

11

110

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • jokuvaan11

      bash on komentotulkki ja sen kanssa ajetaan skriptejä.

      • pois-se-bash

        Bourne-Again SHell.

        Turhaa kikkailua tuossa. Tyypillistä joillekin linuxhörhöille. Saman olisi voinut tehdä pelkällä echolla:

        echo "<?php phpinfo(); ?>" >/var/www/html/phpinfo.php

        Mahdollisesti sudo tuohon eteen, jos ei ole hakemistoon tarvittavia käyttöoikeuksia.


    • Turbo-Urpo1

      On siinä tiedoston sisällössä hiukan ero, tehdessä ohjeen mukaan tai lyhyemmällä tavalla.

      𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘
      OHJE OLI TÄMÄ
      sudo bash -c "echo -e '<?php\nphpinfo();\n?>' > /var/www/html/phpinfo.php"

      TULOS OLI TÄMÄ
      <?php
      phpinfo();
      ?>
      𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘
      LYHYT MUOTO
      echo "<?php phpinfo(); ?>" >/var/www/html/phpinfo.php

      TULOS TÄMÄ
      <?php phpinfo(); ?>
      𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘𐄘

      Mutta käytännössä molemat "phpinfo.php" tiedostot toimivat samalla tavalla, vaikka oikeaoppinen rivitys lyhyt versiosta jääkin pois. Toinen asia johon kiinnitin huomiota oli tuo vanhahtava polku-määrittely ( /var/www/html/ ). Tässä ihan lähi päivinä pistän LAMP:an taas pystyyn ja samalla verestyy noinko se menee vieläkin.

      Tuon "tasksel" avustajan käyttöä en suosittele, jota tuossa "bash-juttu" avaajan antaman linkin takana heti alussa esiteltiin. Tämä avustajahan sisältää nykyään 40 eri ohjelman asennus-scriptin, joista mikään ei taida olla loppuun asti viety. Tuon avustajan asennus:

      ASENNUS
      sudo apt install tasksel

      KÄYTTÖ
      tasksel

      POISTO
      sudo apt-get purge --auto-remove tasksel

      • tasksel.on.vakiovaruste

        Tasksel tulee automaattisesti ainakin mini.isolta asennetun Ubuntun mukana. Sillä asensin itsekin viimeksi LAMP:n. Hyvin tuntuu toimivan. Ainakin itse uskallan sitä suositella. Ei tarvinnut asentaa erikseen mitään. Vaivattomampi tapa kuin asennella erikseen jokainen palikka. Mutta kukin tyylillään.


    • Mikko_Tku

      sudo bash -c .... bash ei välttämättä ole oletuskomentotulkki kaikissa järjestelmissä. Muita komentotulkkeja on sh, csh, zsh ja ksh. tcsh myös paljon käytössä. Voit kokeilla mitä !! tai !sudo tekee.

      • oikeudet_kuntoon

        Juu, lisäksi putkitus tiedostoon on vähän hankala. Ilman tuota bash-komennon ajoa tiedoston oikeudet ei välttämättä mene samalla käyttäjälle, kuin millä ohjelma ajettiin, vaan esim. apt-käyttäjälle, koska putkitus ei mene läpi sudo:lta tietoturvallisuuden vuoksi. Lisäksi syntaktisesti se olisi kaameaa sotkua. Nyt komennot, mitkä ajetaan sudo:n alla on selkeästi lainausmerkkien välissä.


      • oikeudet_kuntoon kirjoitti:

        Juu, lisäksi putkitus tiedostoon on vähän hankala. Ilman tuota bash-komennon ajoa tiedoston oikeudet ei välttämättä mene samalla käyttäjälle, kuin millä ohjelma ajettiin, vaan esim. apt-käyttäjälle, koska putkitus ei mene läpi sudo:lta tietoturvallisuuden vuoksi. Lisäksi syntaktisesti se olisi kaameaa sotkua. Nyt komennot, mitkä ajetaan sudo:n alla on selkeästi lainausmerkkien välissä.

        Helpompi kirjautua root- käyttäjäksi. Silloin putkitus helpompaa. Vaihtoehtona voi käyttää tee-komentoa jolloin saa oikeudet säilymään. Silloin tulee komennoista myös helposti pitkiä. Rootiksi pääsee sudo su - . Tuo "-" tärkeä. Miksi?


      • lisää_tietoa

        man su antaa tämän:
        -, -l, --login
        Tarjoa samankaltainen ympäristö kuin käyttäjä saisi
        kirjautuessaan suoraa sisään.
        En nyt tullut hullua hurskaammaksi, mitä tuo auttaa? Itselläni ainakin polkumäärittely vaihtuu myös ilman tuota, minkä arvelin olevan em. kommentin syynä? En ole koskaan käyttänyt tuota, vaikka "sudo su" on varsin yleinen komento.


      • Env_
        lisää_tietoa kirjoitti:

        man su antaa tämän:
        -, -l, --login
        Tarjoa samankaltainen ympäristö kuin käyttäjä saisi
        kirjautuessaan suoraa sisään.
        En nyt tullut hullua hurskaammaksi, mitä tuo auttaa? Itselläni ainakin polkumäärittely vaihtuu myös ilman tuota, minkä arvelin olevan em. kommentin syynä? En ole koskaan käyttänyt tuota, vaikka "sudo su" on varsin yleinen komento.

        su - määritys tarjoaa ko. käyttäjän (tässä tapauksessa root:in) ympäristömuuttujat. Ympäristömuuttujat voi tarkistaa komennolla env. Erityisesti kannattaa kiinnittää huomionsa PATH-muuttujaan sekä muuttujaan HOME.
        Esim. echo $PATH ja echo $HOME


      • su - vaihtaa kotihakemistoksi /root ja antaa root-käyttäjän polkumääritykset käyttöön. Jos käyttäjän kotihakemistoon kirjoitetaan tiedostoja root-oikeuksin se voi aiheuttaa outoja virheitä. sudo on yleinen, mutta on vielä systeemejä, joissa root-oikeudet saa su - komennolla. Miten sudo komennolla kotihakemistoksi /root käyttäjän kansion sijaan?


      • eiavaaturhia
        Mikko_Tku kirjoitti:

        su - vaihtaa kotihakemistoksi /root ja antaa root-käyttäjän polkumääritykset käyttöön. Jos käyttäjän kotihakemistoon kirjoitetaan tiedostoja root-oikeuksin se voi aiheuttaa outoja virheitä. sudo on yleinen, mutta on vielä systeemejä, joissa root-oikeudet saa su - komennolla. Miten sudo komennolla kotihakemistoksi /root käyttäjän kansion sijaan?

        sudo -s on paras rootille.


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Nurmossa kuoli 2 Lasta..

      Autokolarissa. Näin kertovat iltapäivälehdet juuri nyt. 22.11. Ja aina ennen Joulua näitä tulee. . .
      Seinäjoki
      144
      8179
    2. Joel Harkimo seuraa Martina Aitolehden jalanjälkiä!

      Oho, aikamoinen yllätys, että Joel Jolle Harkimo on lähtenyt Iholla-ohjelmaan. Tässähän hän seuraa mm. Martina Aitolehde
      Suomalaiset julkkikset
      43
      2191
    3. Kaksi lasta kuoli kolarissa Seinäjoella. Tutkitaan rikoksena

      Henkilöautossa matkustaneet kaksi lasta ovat kuolleet kolarissa Seinäjoella. Kolmas lapsi on vakasti loukkaantunut ja
      Maailman menoa
      26
      2082
    4. Miten meinasit

      Suhtautua minuun kun taas kohdataan?
      Ikävä
      95
      1708
    5. Miksi pankkitunnuksilla kaikkialle

      Miksi rahaliikenteen palveluiden tunnukset vaaditaan miltei kaikkeen yleiseen asiointiin Suomessa? Kenen etu on se, että
      Maailman menoa
      181
      1637
    6. Et olisi piilossa enää

      Vaan tulisit esiin.
      Ikävä
      28
      1163
    7. Tunnekylmä olet

      En ole tyytyväinen käytökseesi et osannut kommunikoida. Se on huono piirre ihmisessä että ei osaa katua aiheuttamaansa p
      Ikävä
      107
      1081
    8. Taisit sä sit kuiteski

      Vihjata hieman ettei se kaikki ollutkaan totta ❤️ mutta silti sanoit kyllä vielä uudelleen sen myöhemmin 😔 ei tässä oik
      Ikävä
      5
      1009
    9. Oletko miten

      Valmis läheisyyteen?
      Ikävä
      53
      995
    10. Odotathan nainen jälleenkohtaamistamme

      Tiedät tunteeni, ne eivät sammu johtuen ihanuudestasi. Haluan tuntea ihanan kehosi kosketuksen ja sen aikaansaamaan väri
      Ikävä
      28
      860
    Aihe