Kirjoittaja Aihe: Tiedostojen ja kansioiden oikeudet palvelintilanteessa  (Luettu 4334 kertaa)

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Koska järjestelmätason systeemit eivät ole ominta alaani, laitetaan esimerkki, ja pyyntö saada oikeat oikeudet kansiolle/tiedostoille.

Koneella on palvelinohjelmisto, jonka kautta selaimella ulkopuolisen käyttäjän pitää päästä muuttamaan jossakin kansiossa olevan tiedostojen sisältöä. Palvelimella toimii www-palvelin ja sen alla javaskriptein ryyditetty html-tiedosto. Käyttäjä menee tuohon html-linkkiin, ja saa selaimeensa pikku sovelluksen, jolla hän voi luoda tiedostoon uusia tietueita, muuttaa olemassa olevia, tai jopa jossain tapauksessa poistaa tiedostosta tietoa.

Kysymys siis kuuluukin, millaiset oikeudet (käyttäjä/ryhmä/muut) tuolle dataa sisältävälle kansiolle, ja sen tiedostoille pitäisi antaa, jotta muutosoikeus nettikäyttäjälle toteutuisi oikein?

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Vs: Tiedostojen ja kansioiden oikeudet palvelintilanteessa
« Vastaus #1 : 19.08.13 - klo:16.55 »
Siis tiedostoon pitää olla pääsy yhdellä käyttäjällä ja web-palvelimella? Sen voisi toteuttaa vaikka niin, että laittaa omistajaksi sen käyttäjän ja ryhmäksi www-data (Ubuntun käyttämä web-palvelimen käyttäjä ja ryhmä). Hakemiston oikeuksiksi 770 tai 774 (jos muutkin saavat lukea). Lisäksi jos laittaa setuid ja setgid bitit, niin käyttäjä ja ryhmä tulevat automaattisesti oikein.
http://linux.fi/wiki/Tiedoston_oikeudet
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tiedostojen ja kansioiden oikeudet palvelintilanteessa
« Vastaus #2 : 19.08.13 - klo:17.06 »
Siis tiedostoon pitää olla pääsy yhdellä käyttäjällä ja web-palvelimella? Sen voisi toteuttaa vaikka niin, että laittaa omistajaksi sen käyttäjän ja ryhmäksi www-data (Ubuntun käyttämä web-palvelimen käyttäjä ja ryhmä). Hakemiston oikeuksiksi 770 tai 774 (jos muutkin saavat lukea). Lisäksi jos laittaa setuid ja setgid bitit, niin käyttäjä ja ryhmä tulevat automaattisesti oikein.
http://linux.fi/wiki/Tiedoston_oikeudet

Netin kautta kaikkien linkin saajien pitää päästä tietoon kiinni. Kaikki sovellukset (Apache ja sen alla Geoserver ja myös javaskriptit) sijaitsevat siis kyseisellä palvelinkoneella, samoin data omassa hakemistossaan.  Tällainen konfiguraatio siis kyseessä.
« Viimeksi muokattu: 19.08.13 - klo:17.10 kirjoittanut New_user »

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Tiedostojen ja kansioiden oikeudet palvelintilanteessa
« Vastaus #3 : 19.08.13 - klo:17.40 »
Jos riittää, että sivuston tiedostoja pääsee muokkaamaan vain pääkäyttäjä ja web-palvelinprosessi sekä sen käynnistämät skriptit/ohjelmat, tiedostojen omistaja voi olla www-data. Jos sen sijaan haluat, että sivustoa voi ylläpitää joku tietty paikallinen käyttäjä, jolla ei ole pääkäyttäjän oikeuksia (sudon kautta), omistajaksi pitänee asettaa kyseinen käyttäjä. Ylläpidolla tarkoitan siis esimerkiksi SSH-yhteyden kautta tehtäviä toimenpiteitä. Sivuston suunnalta kaikki tapahtuu www-data:n oikeuksin.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tiedostojen ja kansioiden oikeudet palvelintilanteessa
« Vastaus #4 : 19.08.13 - klo:18.34 »
Kiitoksia

Katselin tässä juuri kotikoneiden kansio-oikeuksia home-alueella. Sellaista käyttäjää kuin www-data ei ole ainakaan Nautiluksen kautta asetettavissa. Jostain syystä työkoneella eteen tulee valtavan pitkä litania mahdollisia käyttäjäryhmiä adm, admin, cdrom users jne. Pitääkö www-data oikeudet antaa jotenkin chmod xxx, kun listassa ei moista ole?

Kokeilin myös pystyttää kotikoneilla vastaavan ympäristön. 12.04 Ubuntu, Apache, Apache Tomcat, jonka alla Geoserver, Postgreql-Postgis ja data jossain Postgis-kannan uumenissa (Geoserverillä sinne kaikki oikeudet). Systeemi toimii tässä täysin puhtaasti, eli kotiverkon kautta IP:llä pääsen "serverin" linkkiin, jossa on html-tiedosto javaskripteineen, ja pääsen muokkaamaan suoraan Geoserverin alla olevaa spatiaalikantaa, lisäten karttapisteitä, poistaen niitä, tai muokkaamaan pisteiden attribuuttidataa. Jostai syystä tämä ei työpaikan tuotantokoneella onnistu. Systeemi-admin on lomilla, pitänee neuvotella, kun palaa.

Niin, Postgis-kannan lisäksi muokkaus voi tapahtua myös shapefile-muotoon, joka on puhtaasti vain ryhmä tiedostoja ja Geoserver hanskaa sen myös.

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Tiedostojen ja kansioiden oikeudet palvelintilanteessa
« Vastaus #5 : 19.08.13 - klo:20.28 »
Katselin tässä juuri kotikoneiden kansio-oikeuksia home-alueella. Sellaista käyttäjää kuin www-data ei ole ainakaan Nautiluksen kautta asetettavissa.

Pääkäyttäjänä käynnistetyllä nautiluksella (sudo -i nautilus) www-data on valittavissa siellä listassa.

www-ylläpidossa komentorivin opiskelu ja käyttö on kuitenkin suositeltavaa.

Aseta tiedoston käyttäjäksi ja ryhmäksi www-data:
Koodia: [Valitse]
chown www-data: /var/www/index.html
Aseta hakemistopuun oikeudet rekursiivisesti:
Koodia: [Valitse]
chown -R www-data: /var/www/sivusto/
Kokeilin myös pystyttää kotikoneilla vastaavan ympäristön. 12.04 Ubuntu, Apache, Apache Tomcat, jonka alla Geoserver, Postgreql-Postgis ja data jossain Postgis-kannan uumenissa (Geoserverillä sinne kaikki oikeudet). Systeemi toimii tässä täysin puhtaasti, eli kotiverkon kautta IP:llä pääsen "serverin" linkkiin, jossa on html-tiedosto javaskripteineen, ja pääsen muokkaamaan suoraan Geoserverin alla olevaa spatiaalikantaa, lisäten karttapisteitä, poistaen niitä, tai muokkaamaan pisteiden attribuuttidataa. Jostai syystä tämä ei työpaikan tuotantokoneella onnistu. Systeemi-admin on lomilla, pitänee neuvotella, kun palaa.

www-palvelimen, Geoserverin tai tietokannan lokeista saattaisi löytyä vihjeitä.

New_user

  • Käyttäjä
  • Viestejä: 1247
    • Profiili
Vs: Tiedostojen ja kansioiden oikeudet palvelintilanteessa
« Vastaus #6 : 20.08.13 - klo:19.49 »
Kiitos paljon vastanneille. Tässä tuli hyvää oppia taas.

Paikkatiedonkeruusovelluksen kanssa on järkevää toteuttaa datan keruu suoraan Postgis-kantaan, ja kun kaikki oikeudet ovat kunnossa Geoserveriltä kannan suuntaan, homma onnistuu muitta mutkitta, kun sen tekee oikein.