Linux ja Apache tiedosto-oikeudet

Liittynyt
03.07.2018
Viestejä
361
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
 
Kaiketi pitäisi vaihtaa directory mask = 775 smb.conf:n. Tiedostoille tarvittaessa voit vaihtaa create mask:a.
 
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

Kai oot luonu myös Sambaan käyttäjätilin "mikko":
Koodi:
smbpasswd -a mikko
 
4 drwxr-sr-x 4 mikko www-data 4096 Nov 12 09:26 windowskansio

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

Kaiketi pitäisi vaihtaa directory mask = 775 smb.conf:n. Tiedostoille tarvittaessa voit vaihtaa create mask:a.

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.
 
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..
 
Nyt ongelma tuli esiin uudestaan!

Wordpressiä kun purkasi duplicator:illa, eli suorittaen .php-tiedostoa selaimessa niin kaikkien tiedostot tulivat www-data www-data oikeuksilla
-rw-r--r--
enkä saa niitä nyt muokattua omalla käyttäjänimelläni.

Mitenkä tätä pitäisi vielä säätää että toimisi oikein ja pystyisin myös muokkaamaan omilla tunnuksillani ?
Aiemmin kun testasin niin mielestäni php:n luomaa tiedostoa kyllä sai muokattua.
 
Nyt ongelma tuli esiin uudestaan!

Wordpressiä kun purkasi duplicator:illa, eli suorittaen .php-tiedostoa selaimessa niin kaikkien tiedostot tulivat www-data www-data oikeuksilla
-rw-r--r--
enkä saa niitä nyt muokattua omalla käyttäjänimelläni.

Mitenkä tätä pitäisi vielä säätää että toimisi oikein ja pystyisin myös muokkaamaan omilla tunnuksillani ?
Aiemmin kun testasin niin mielestäni php:n luomaa tiedostoa kyllä sai muokattua.

Yleensä kaikki apassin suorittamat (skriptit/php/jne) ajavat apassin oikkareilla eli usein www-data.www-data ja oletus umask tuottaa nuo oikkarit.

Helpoimmin menee kun vaihdat apassin umaskin niin että myös ryhmälle tulee rw ja liität oman tunnuksesi www-data- ryhmään.

Tai annat apassin asetusten ja oikeuksien olla noin ja teet muokkaukset sudon kautta, ei rootiksi vaan www-dataksi.

Kolmas vaihtoehto on tehdä skripti joka korjaa oikkareita ja ajaa sitä cronilla.

Lisääkin vaihtoehtoja varmaan löytyy riippuen siitä kuinka tiukat asetukset haluat turvallisuuden kannalta/ onko koneessa muita käyttäjiä/paljonko haluaa säätää/jne...
 
Vieläkin ongelmia

Purkasin yhden projektin samban kautta ja tiedostot tulivat
mikko:www-data
Nyt tämä projekti ei pysty muokkaamaan tiedostoja ollenkaan. Luulin sen jo korjanneeni

Lisäsin nyt umask 002 /etc/apache2/envvars
mutta ei silti auttanut tuohon että www-data voisi muokata mikko:www-data tiedostoja ja luoda kansioihin lisää tiedostoja. Ilmeisesti kuitenkin auttoi siihen että mikko voi samban kautta muokata tiedostoja koska se onnistuu

Korjasin koko projektin käyttäjälle www-data:www-data chownilla ja nyt se toimii, mutta ongelma tulee taas toistumaan kun purkaan seuraavan projektin (wordpress / laravel) samban kautta...
 
Vieläkin ongelmia

Purkasin yhden projektin samban kautta ja tiedostot tulivat
mikko:www-data
Nyt tämä projekti ei pysty muokkaamaan tiedostoja ollenkaan. Luulin sen jo korjanneeni

Lisäsin nyt umask 002 /etc/apache2/envvars
mutta ei silti auttanut tuohon että www-data voisi muokata mikko:www-data tiedostoja ja luoda kansioihin lisää tiedostoja. Ilmeisesti kuitenkin auttoi siihen että mikko voi samban kautta muokata tiedostoja koska se onnistuu

Korjasin koko projektin käyttäjälle www-data:www-data chownilla ja nyt se toimii, mutta ongelma tulee taas toistumaan kun purkaan seuraavan projektin (wordpress / laravel) samban kautta...

Eli purun jälkeen oikkarit olivat ilmeisesti rwxr-xr-x mikko:www-data ?
Laita samballe pakotus että laittaa myös ryhmälle kirjoitusoikeuden niin toimii kerralla ilman säätöjä.

Ja muistathan että umask tulee voimaan vasta seuraavalla loginilla, toisin sanoen sitten kun apassi käytetään alhaalla. Sama samballe, konffimuutoksen jälkeen pitää tehdä stop-start tai konffin reload.
 

Statistiikka

Viestiketjuista
261 700
Viestejä
4 544 522
Jäsenet
74 831
Uusin jäsen
Panasonic

Hinta.fi

Back
Ylös Bottom