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

182

    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. Riikka vie Suomen kohta ykköseksi työttömyyskisassa

      Espanja: 10,5 % Suomi: 10,3 % Ruotsi: 9,3 % Kisa on tiukkaa, mutta Riikalla hyvä draivi päällä. Vasemmistolaisen päämin
      Maailman menoa
      166
      2971
    2. Miten juhlitte ensi lauantaina?

      Se on kalenteriin merkitty juhlapäiväksi, niin sitä kai kuuluu juhlia.
      Maailman menoa
      291
      2643
    3. Suomen veroaste 5 %-yks liian matala

      Palauttamalla kokonaisveroaste 1990-luvun tasolle saadaan hyvinvointivaltion palvelut rahoitettua ilman velan ottoa.
      Maailman menoa
      71
      1752
    4. Kolme neljästä suomalaisesta kannattaa miljonääriveroa

      Kertoo vasemmistoliiton teettämä kysely. Veron ulkopuolelle jätettäisiin asunto. "Puolet vastaajista oli sitä mieltä, e
      Maailman menoa
      46
      1647
    5. Kumpaan rahat, mummojen vaippoihin vai Nalle WahIroosille?

      JOS siis sinä saisit päättää?
      Maailman menoa
      38
      1530
    6. Voi mies olit taas niin komea

      Olet silmäkarkkia ❤️ Sua vois katsella vaikka koko päivän. ❤️
      Ikävä
      122
      1286
    7. Kadutko koskaan

      Sitä mun iskiyritystä?
      Ikävä
      103
      1203
    8. Ryöstö Punkaharjulla

      Punkaharjun k-market ryöstetty tänään keskellä päivää, ketä lie asialla? Poliiseja ainakin pörrää ympäriisee
      Savonlinna
      14
      1164
    9. Evoluutioon ja alkuräjähdykseen uskominen vaatii todella vahvaa uskoa

      Että tyhjästä syntyi ja kehittyi kaikki se mitä näemme ympärillämme.
      Luterilaisuus
      362
      1101
    10. Uudestisyntyminen ei tapahdu kasteessa

      Tässä Apostolien tekojen kohdassa näemme, että Filippus julisti hoviherralle ensin evankeliumia ja kuulusteli sitten tar
      Kaste
      204
      1063
    Aihe