Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: 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.
-
Ryhmä (group) on aika oikoinen tapa.
-
Ryhmä (group) on aika oikoinen tapa.
Ja ellei muistini ole kokonaan kadotettu, oikea ryhmä on www-data
sudo adduser USER www-data
Vaihda USER:n tilalle käyttäjätunnuksesi.
-
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.
-
Asian voinee ratkaista alla olevan php-rivin avulla
$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 :)