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

185

    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.


    • 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ä.

    Luetuimmat keskustelut

    1. Tiedätkö mihin

      Ominaisuuksiin rakastuin sinussa?
      Ikävä
      74
      4217
    2. Purra on kantanut vastuuta täyden kympin arvoisesti

      Luottoluokituksen lasku, ennätysvelat ja ennätystyöttömyys siitä muutamana esimerkkinä. Jatkakoon hän hyvin aloittamaans
      Maailman menoa
      89
      3943
    3. Surullista

      Että menetit sen naisen , tosi surullista ja vielä oman tyhmyyden takia ,ymmärrän että se on masentavaa
      Ikävä
      57
      2468
    4. Muuttunut käytös

      Onko kaivattusi käytös muuttunut? Tiedätkö mistä se johtuu? Haluatko kertoa, mitä tapahtui?
      Ikävä
      65
      2312
    5. Väkeä oli liikkeellä

      Nyt leijutaan pilvissä. Kun eläinpuistossa oli porukkaa 😆😆 Olihan siellä kun ilmaiseksi pääsivät. Eiköhän se juuri sik
      Ähtäri
      41
      2034
    6. Oliko kiihkeä

      ensimmäinen yö?
      Ikävä
      49
      1889
    7. 111
      1834
    8. Kummallista

      Oletteko koskaan ihastuneet ihmiseen, joka ei ulkonäöltään vastaa ollenkaan ihannettanne?
      Sinkut
      55
      1663
    9. Miltä meidän

      Riidat näyttäisi ja mistä niitä voisi tulla?
      Ikävä
      56
      1662
    10. Ikävä Jii.

      Toivotko vielä näkemistä?
      Ikävä
      65
      1558
    Aihe