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

80

    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. Jumala rankaisi; nainen kuoli Suviseuroissa

      Eihän näissä joukkohysteriatapahtumissa ole mitään tolkkua. Aina pitää hajauttaa. Toivottavasti lestatkin tulevat nyt
      Maailman menoa
      370
      8394
    2. Kiitos, kun paljastit

      Vaikka mä tiesinkin! Nyt voi ottaa seuraavan askeleen? Hyvää yötä:)
      Ikävä
      58
      2344
    3. Missä hiton pippaloissa

      Sä käyt kun sua ei näy missään..tahtosin vaan varmistua et kaikki ok.
      Ikävä
      34
      1712
    4. Olen miettinyt sinua tänään

      Se mitä teit oli oikeasti vähän tylyä. En voi ottaa sitä muuna kuin mitä se konkreettisesti on. Esitän itsellenikin että
      Tunteet
      27
      1569
    5. IS Viikonloppu 29.-30.6.2024

      Melko hyvä 3- -tasoiseksi merkitty Kovis Jari Keräseltä. Pääkuvan merkitys on varsin vähäinen rajoittuen alakulman aukio
      Sanaristikot
      81
      1324
    6. Kysymystä pukkaa

      Mitä aiot tehdä kun näet hänet seuraavan kerran? Vai oletko kuin ei mitään....
      Ikävä
      120
      1312
    7. Kuolemanraja kokemukset ovat kulttuurisidonnaisia.

      Kuolemanraja kokemukset ovat kulttuurisidonnaisia. Kristilliset ääriainekset pelottelevat ihmisiä edelleen IKUISELLA hel
      Hindulaisuus
      353
      1154
    8. Suviseurat

      Kamala onnettomuus tapahtunut subiseuroissa
      Hyrynsalmi
      16
      1025
    9. Tässä viimeinen mahdollisuutesi nainen

      Kysyä tai sanoa minulle, jos jotain jäi vuosien takaisista. Sen verran meillä oli kuitenkin jotain, että välillä mietin
      Ikävä
      54
      1002
    10. Kuvaile kaivattuasi kolmella

      Emojilla. Oma vastaus 💨🚮💣
      Ikävä
      112
      941
    Aihe