Kyllä sudoa voi käyttää scriptissäkin, mutta salasanojen näyttäminen scriptissä on huonoa tapaa.
Äkkiseltään ei tule mieleen yhtäkään perusteltua syytä sudon käyttämiseksi skriptissä. Se lisää turhan riippuvuuden sudoon, vaatii virheenkäsittelyn tapaukselle jossa sudon suorittaminen epäonnistuu ja lisäksi sudon asetuksista riippuen se saattaa kysellä salasanaa joka kerta erikseen. Muitakin ongelmia saattaa olla mutta nämä tulivat mieleen heti ilman tarkempaa miettimistä.
Jos skripti oikeasti tarvitsee pääkäyttäjän oikeuksia niin silloin on luontevinta että skripti tarkistaa käynnistyessään oikeudet ja lopettaa toiminnan heti jos tarvittavia oikeuksia ei ole.
Minun mielestäni on scriptissä perusteltua käyttää sudoa, kun scriptin oletetaan käytettävän pääkäyttäjän oikeuksin, mutta jostain syystä halutaan alentaan tiettyjen käskyjen kohdalla oikeuksia tavan tallaanjan oikeuksiin. Perustelunani on tälle, että root-oikeuksia tulee käyttää mahdollisimman vähän. Haittana tietenkin tulee, ettei näistä scripteistä välttämättä tule hirvittävän siirrettäviä.
Tosin oletan sinun uninstalloineen kaikki sudoon viittaavat, ja laittaneen itsellesi turvallisen root-tilin, jotta järjestelmäsi on sellainen kuin haluat.
Huomioitavaa on myöskin, ettei riippuvuus sudoon Ubuntussa haittaa, koska se taitaa tulla jopa minimalistisessa järjestelmässäkin vakiona. (Tosta minimalistisesta järjestelmästä en ole ihan 100 varma, kun en ole asentanut sitä, mutta kaikissa perus Ubuntuissa se tulee ainakin).
Roottina voi ajaa sudo käskyn, kun haluaa vähentää oikeuksia:
sudo su
whoami
sudo -u tavantallaaja whoami
whoami
exit
Tuo ei toimi tuollaisenaan skriptinä (eikä varmaan ollut tarkoitettukaan toimimaan) sillä ensimmäinen rivi pysäyttää skriptin suorituksen siksi aikaa kunnes siinä aloitetusta pääkäyttäjän istunnosta poistutaan. Sen jälkeen loppu skripti suoritetaan samoilla oikeuksilla kuin se on alunperinkin ajettu. Jos skriptin suorittaa tavantallaaja niin tuo tulostaa kolme kertaa tavantallaaja. Jos sen suorittaa joku muu jolla ei ole oikeuksia tavantallaajaksi niin skriptin suoritus epäonnistuu siinä kohtaa ja tapahtunut virhe pitäisi käsitellä jollakin tavalla.
Joo, se ei ollut scripti vaan esimerkki.
Jos oikeuksia pitää väliaikaisesti tiputtaa niin se onnistuu myös komennolla su. Hyvin harvoin tuohon on kuitenkaan tarvetta enkä nyt keksi yhtäkään kunnollista esimerkkiä jossa tuohon olisi tarvetta. Porosoftan (proprietary software) ajamisessa se voi tietysti olla tarpeen.
Joo, kyllä sen voi su:llakin toteuttaa, mutta kyllä se onnistuu sudollakin. Tuohon oikeuksien alennukseen ainakin itse tarvitsin yhdessä scriptissä, kun halusin mountata iso-tiedostoja loopilla (joo löytyy alemmilla oikeuksilla mounttaava kikkarekin, mutten halunnut asentaa sitä). ja käsitellä niistä löytyviä tiedostoja normaalilla käyttäjällä. Olisin sen voinut kyllä tehdä su:llakin, mutta Ubuntussa on valmiiksi asennettu kätevä sudo:kin, joten sitä ei tarvinnut käyttää.
Tuskin tulen vastaamaan vastauksiin (ainakaan toivomani mukaan), koska tuskin pääsemme väittelyissä puusta pitään...