sudo taustalle häärimään

Anonyymi

Olen väsännyt yad:lla graafisen front endin konsoliohjelmalle, joka vaatii siihen liittyvän rautansa puolesta rootin oikeuksia. Tavallisille pulliaisille en viitsisi antaa rootin oikeuksia. Front endissä yksinkertaisesti kysytään muutamia perusjuttuja ja sudon salasana. Sitten on vielä start- ja stop- painikkeet. Homma toimii muuten hienosti mutta kun start- painiketta klikkaa niin konsoliohjelma alkaa suunnitellusti pyöriä mutta stop- painiketta ei voi klikata eli konsoliohjelmaa ei voi lopettaa. Syyksi on ilmennyt tuo sudo, joka jää etualalle killumaan estäen stop- painikkeen klikkauksen. Ja kaiken lisäksi tuo salasana tiedosto jää turhan pitkäksi aikaa levylle näkyviin. Sudon tappamisen jälkeen stop- painiketta voi jälleen klikata. Toinen vaihtoehto on sulkea front end ja käynnistää se uudelleen, jolloin stop- painikeella voi lopettaa konsoliohjelman. Miten tuon sudon saisi taka-alalle tai käynnistämään konsoliohjelman täysin uutena prosessina? Alla käyttämäni koodin pätkä ja käyttis on Linux Mint 20 jos se jotakuta kiinnostaa.

echo $3 > ~/passwd.txt
pvm=`date _%d%m%Y-%H%M`
sudo -S -b datamanager $HOME/Documents/$pvm.data < ~/passwd.txt
rm ~/passwd.txt

7

101

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Lisää käyttäjä tai sopiva ryhmä /etc/sudoers -tiedostoon ja anna sille oikeudet VAIN tälle sovellukselle.

      • Anonyymi

        Piti kertomani jo alunperin, että ko käyttäjillä on jo sudo- oikeudet.

        T: Aloittaja


      • Anonyymi
        Anonyymi kirjoitti:

        Piti kertomani jo alunperin, että ko käyttäjillä on jo sudo- oikeudet.

        T: Aloittaja

        Sittenhän tässä ei ole ongelmaa....


      • Anonyymi
        Anonyymi kirjoitti:

        Sittenhän tässä ei ole ongelmaa....

        Ongelma on ettei stop- painiketta voi klikata jos on klikannut start- painiketta. Tuo sudon etualalla killuminen estää sen.


    • Anonyymi

      Laita start-nappiin skripti, joka tekee halutun tempun ja tallentaa pid:in johonkin tiedostoon. Stop-napissa olisi sitten skripti, joka lukee pid-tiedostosta pid-arvon, ja tappaa prosessin killillä.

      • Anonyymi

        Ja pid:n saa suoritettavassa skriptissä muuttujasta $$.


      • Anonyymi

        Tässä simppeli esimerkki. Start.sh näyttää kelloa, ja stop.sh tappaa start.sh:n. Samaan hakemistoon nämä, tai sitten pitää muokata polkuja.

        start.sh
        --
        #!/bin/bash
        echo $$ >script.pid
        for (( ; ; ))
        do
        DATE=`date "%H.%M.%S"`
        printf "\r${DATE}"
        sleep 1
        done

        stop.sh
        --
        #!/bin/bash
        kill -9 `cat script.pid`


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

    Luetuimmat keskustelut

    1. 96
      1549
    2. Mitkä asiat

      tekevät vaikeaksi kohdata kaivattusi?
      Ikävä
      74
      1374
    3. Rakas

      Eihän se tietysti minulle kuulu, mutta missä sinä olet? 😠
      Ikävä
      50
      1287
    4. Miltä se tuntuu

      Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s
      Ikävä
      104
      1188
    5. Pidit itseäsi liian

      Vanhana minulle? Niinkö?
      Ikävä
      51
      1155
    6. SDP:n lyhyt selviytymisopas

      1. Komitea on vastaus, oli kysymys mikä tahansa Jos maailma on muuttumassa tai jossain palaa, demari ei hätiköi. Ensin p
      Maailman menoa
      9
      955
    7. En mahda sille mitään

      Olet ihanin ja tykkään sinusta todella paljon.
      Ikävä
      36
      817
    8. Joko olet luovuttanut

      Mun suhteen?
      Ikävä
      60
      761
    9. Haluaisitko oikeasti

      Vakavampaa välillemme vai tämäkö riittää
      Ikävä
      49
      744
    10. Mitä se olisi

      Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?
      Ikävä
      41
      715
    Aihe