Linux ja Apache tiedosto-oikeudet

Viestiketju alueella 'Ongelmat' , aloittaja embedded, 12.11.2019.

  1. embedded

    embedded

    Viestejä:
    44
    Rekisteröitynyt:
    03.07.2018
    Nyt en saa uudessa palvelimessa mitenkään pelittämään tiedosto-oikeuksia
    Vika on se että kun otan yhteyttä palvelimeen sekä windowsilla samban (vai mikä se nykyisin on) kautta, että suoraan php:t tekee ja muokkaa tiedostoja, niin esim. wordpressin päivitys ei toimi, php:skripti ei saa tarvittavia muokkaus/luontioikeuksia. Palvelin ei ole julkinen joten php:lla pitäisi olla näihin oletuksena täydet oikeudet


    Windowsilla otan yhteyttä käyttäjällä mikko joka kuuluu ryhmään www-data
    ja php suorioutuu "käyttäjänä" www-data

    Oletus windowssissa luotu kansio:
    4 drwxr-sr-x 4 mikko www-data 4096 Nov 12 09:26 windowskansio
    Php:lla alikansion tai tiedoston luonti kansioon ei onnistu.
    chmod 775 :
    4 drwxrwsr-x 4 mikko www-data 4096 Nov 12 09:26 windowskansio
    tämän jälkeen php:lla alikansion ja tiedoston luonti kansioon onnistuu.

    Miten siis saisin niin että samban kautta luotuun kansioon jonka omistaja mikko:www-data saa www-data-käyttäjä muokattua ?

    mikko groups:
    www-data root adm cdrom sudo dip plugdev lxd

    ja www-data kuuluu vain ryhmään www-data
     
  2. kaakau<"'\\/>

    kaakau<"'\\/>

    Viestejä:
    493
    Rekisteröitynyt:
    02.11.2016
    Kaiketi pitäisi vaihtaa directory mask = 775 smb.conf:n. Tiedostoille tarvittaessa voit vaihtaa create mask:a.
     
  3. A Lake Elk

    A Lake Elk

    Viestejä:
    37
    Rekisteröitynyt:
    12.11.2019
    Kai oot luonu myös Sambaan käyttäjätilin "mikko":
    Koodi:
    smbpasswd -a mikko
     
  4. telcoM

    telcoM

    Viestejä:
    208
    Rekisteröitynyt:
    18.03.2017
    Tuo on syytä tarkistaa, mutta ei välttämättä riitä yksinään. Directory/create mask ainoastaan rajaa pois sellaisia oikeuksia joita Samban ylläpitäjä ei salli levyjakoon Windows-asiakaskoneesta tuotaville tai sen kautta luotaville hakemistoille/tiedostoille annettavan.

    Jos halutaan pakottaa tällaisille hakemistoille/tiedostoille päälle sellainen oikeus jota ei "itsestään" (ts. Linux-palvelimen oletusarvoisen umask-asetuksen kautta Samban ja Linux-tiedostojärjestelmän välisessä rajapinnassa) synny, tarvitaan lisäksi Samban asetuksia nimeltä force create/directory mode.

    Lisäksi jos haluaa, voi vielä force group-asetuksella naulata myös tiedostot omistavan ryhmän kiinni, jolloin sitä ei voi Windowsin puolelta vahingossakaan saada menemään väärin.

    Seuraavanlaisella asetusrimpsulla saa siis hakemistojen ja tiedostojen oikeudet pakotettua täsmälleen halutuiksi (tiedostojen omistajakäyttäjää lukuunottamatta):

    Koodi:
         # hakemistoille oikeudet drwxrwxr-x:
         directory mask = 0775
         force directory mode = 0775
         # tiedostoille oikeudet joko -rwxrwxr-x tai -rw-rw-r--, Windows-käyttäjä saa päättää:
         create mask = 0775            # "maksimi"
         force create mode = 0664   # "minimi"
         # ryhmäksi pakotetaan www-data:
         force group = www-data
    
    Hakemistojen setgid-bitti (eli drwxrwsr-x -rimpsussa tuo yksinäinen s-kirjain keskimmäisen x:n paikalla) periytyy itsestään alihakemistolle kun se on ennestään annettuna hakemistolle johon alihakemistoa ollaan luomassa.
     
  5. embedded

    embedded

    Viestejä:
    44
    Rekisteröitynyt:
    03.07.2018
    Kiitos!
    Smb.conffissa tosiaan oli tuo mask, mutta se olikin vain [homes] kohdassa eikä [varwww]

    Nyt näytti toimivan tällä
    comment = nettipalvelinkansio
    available = yes
    ;valid users = @users
    read only = no
    browsable = yes
    public = yes
    writable = yes
    follow symlinks = yes
    wide links = yes
    ;write list = @users
    create mask = 0775
    directory mask = 0775

    Vielä saattaa olla pienoinen ongelma että tuhansia tiedostoja ja kansioita on tuola väärillä oikeuksilla. Mutta niitä kai ei parane mennä kaikkia summissa muuttamaan 775 ettei tule isompaa haaveria..