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
sudo taustalle häärimään
7
<50
Vastaukset
- 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: AloittajaSittenhä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
Poliisi tutkii murhaa Paltamossa
Poliisi tutkii Kainuussa sijaitsevassa Paltamon kunnassa epäiltyä henkirikosta, joka on tapahtunut viime viikon perjanta384659Jos me voitais puhua
Jos me voitais puhua tästä, mä sanoisin, että se on vaan tunne ja se menee ohi. Sun ei tarvitse jännittää mua. Mä kyllä203195Jenna meni seksilakkoon
"Olen oppinut ja elän itse siinä uskossa, että feministiset arvot omaava mies on tosi marginaali. Todennäköisyys, että t2722376Jere, 23, ja Aliisa, 20, aloittavat aamunsa Subutexilla tai rauhoittavilla: "Vaikka mä käytän..."
Jere, 23, ja Aliisa, 20, ovat pariskunta, joka aloittaa aamunsa Subutexilla tai rauhoittavilla. Jere on ollut koko aikui532247- 1652079
Vain yksi elämä
Jonka haluaisin jakaa sinun kanssasi. Universumi heitti noppaa ja teki huonon pilan, antoi minun tavata sinut ja rakastu891670Vielä kerran.
Muista että olet ihan itse aloittanut tämän. En ei silti sinua syyllistä tai muutenkaan koskaan tule mainitsemaan tästä3601661- 171653
Aku Hirviniemi tekee paluun televisioon Aiemmin hyllytetty ohjelma nähdään nyt tv:ssä.
Hmmm.....Miksi? Onko asiaton käytös nyt yht´äkkiä painettu villaisella ja unohdettu? Kaiken sitä nykyään saakin anteeksi1131642M nainen tiedätkö mitä
Rovaniemellä sataa nyt lunta, just nyt kun lähden pohjoiseen. Älä ota mitään paineita tästä mun ihastumisesta sinuun, ti151289