Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 28.11.20 - klo:19.21

Otsikko: [ ratkaistu ]Tiedoston oikeudet omalle ohjelmalle ja www-datalle
Kirjoitti: teele - 28.11.20 - klo:19.21
Apache käyttää tiedostoa, ja sen takia apache on merkitty tiedoston omistajaksi chown -komennolla.

Mutta jos tekee oman ohjelman vaikka c++ :lla, jossa haluaisi myös kirjoittaa ja lukea tätä samaa tiedostoa, millaiset oikeudet sille pitäisi asettaa.

Pitäsikö esimerkiksi luoda uusi käyttäjätunnus ja jollain jollain tavalla saada tiedosto ryhmäoikeuksien avulla luku-ja kirjoitusoikeudelliseksi sekä apachen että oman ohjelman kannalta.

Mikä olisi näppärin tapa tämän toteuttamiseksi.

Otsikko: Vs: Teidoston oikeudet omalle ohjelmalle ja www-datalle
Kirjoitti: jekku - 28.11.20 - klo:19.57
Ryhmä (group) on aika oikoinen tapa.
Otsikko: Vs: Teidoston oikeudet omalle ohjelmalle ja www-datalle
Kirjoitti: raimo - 28.11.20 - klo:20.49
Ryhmä (group) on aika oikoinen tapa.

Ja ellei muistini ole kokonaan kadotettu, oikea ryhmä on www-data
Koodia: [Valitse]
sudo adduser USER www-dataVaihda USER:n tilalle käyttäjätunnuksesi.
Otsikko: Vs: Teidoston oikeudet omalle ohjelmalle ja www-datalle
Kirjoitti: _Pete_ - 30.11.20 - klo:08.50

Apache käyttää tiedostoa, ja sen takia apache on merkitty tiedoston omistajaksi chown -komennolla.

Mutta jos tekee oman ohjelman vaikka c++ :lla, jossa haluaisi myös kirjoittaa ja lukea tätä samaa tiedostoa, millaiset oikeudet sille pitäisi asettaa.

Pitäsikö esimerkiksi luoda uusi käyttäjätunnus ja jollain jollain tavalla saada tiedosto ryhmäoikeuksien avulla luku-ja kirjoitusoikeudelliseksi sekä apachen että oman ohjelman kannalta.

Mikä olisi näppärin tapa tämän toteuttamiseksi.

Helpoin tapa on ajaa c++ ohjelmaa samalla tunnuksella kuin apachea.

Otsikko: Vs: Teidoston oikeudet omalle ohjelmalle ja www-datalle
Kirjoitti: teele - 30.11.20 - klo:13.07

Asian voinee ratkaista alla olevan php-rivin avulla

Koodia: [Valitse]
$reti = exec("./oma_c++-ohjelma param > muutettava_tiedosto.php", $tulostus, $paluuarvo);

c++ -ohjelmalle on laitettu omistajaksi www-data ja se käsittelee samaa tiedostoa kuin apachekin. Käsitelty tulos menee putkella tiedostoon. Sitten toisessa kohtaa sama php-ohjelma lukee ja käyttää tätä muokattua tiedostoa.

Kokeilussa kaikki on ainakin näyttänyt toimivan. Varmaan jossain vaiheessa ne ryhmätkin pitäisi opetella.

Kiitoksia vastauksista :)