Apache 2.4 a práva k souborům

limonade

Apache 2.4 a práva k souborům
« kdy: 03. 12. 2013, 23:19:12 »
Ahoj, mel bych dotaz, uchodil jsem kombinaci Apache 2.4, docetl jsem se, ze je v nem nove mod_proxy_fcgi, takze jsem to nasadil napojil na php-fmp, php bezi, mam tedy jednotlive uzivatele v systemu pod nemi bezi php-fmp procesy z ty zpracovavaji php scripty, toto je funkcni.

Ale co me zajima a uplne nevim jestli je to potrebne, nemusi apache pouste tedy svoje podprocesy ktere zpracovavaji napr. zadosti o staticky obsah take pod uzivatelem ktery bezi php-fmp?
(nechapu jedno, mam na serveru ftp, uzivatele v systemu maji pristup na ftp do chroot sveho www-document root, pod temito uzivateli bezi fmp, kdyz tam nekdo neco nahraji a zmeni prave napr. na 600, tak se k tomu apache preci nemuze dostat kdyz bezi pod www-data , ocekaval bych, ze musi ve virtualhostu byt direktiva rikajici pod jakym uzivatelem ma bezet web).

Zkuste mi to prosim osvetlit, asi mi neco unika, diky limo.
« Poslední změna: 03. 12. 2013, 23:28:56 od Petr Krčmář »


DK

Re:Apache 2.4 a práva k souborům
« Odpověď #1 kdy: 03. 12. 2013, 23:31:48 »
nemusi, php-fpm neresi uzivatele, na to je treba suexec

Jimm

Re:Apache 2.4 a práva k souborům
« Odpověď #2 kdy: 03. 12. 2013, 23:35:19 »
Jen doplním, práva vyřešte například správnou definicí skupiny, asi zde: /etc/php5/fpm/

Jakub L.

Re:Apache 2.4 a práva k souborům
« Odpověď #3 kdy: 04. 12. 2013, 08:00:39 »
Ale co me zajima a uplne nevim jestli je to potrebne, nemusi apache pouste tedy svoje podprocesy ktere zpracovavaji napr. zadosti o staticky obsah take pod uzivatelem ktery bezi php-fmp?

V podstatě ano, Apache musí mít přístup. Já s tím bojuji pomocí ACL a default
http://www.root.cz/clanky/acl-rozsirena-nastaveni-prav-v-linuxu/
http://www.abclinuxu.cz/clanky/bezpecnost/acl-prakticky

nemusi, php-fpm neresi uzivatele, na to je treba suexec

Řeší, viz parametry user a group: http://www.php.net/manual/en/install.fpm.configuration.php


limonade

Re:Apache 2.4 a práva k souborům
« Odpověď #4 kdy: 04. 12. 2013, 10:43:35 »
Ale co me zajima a uplne nevim jestli je to potrebne, nemusi apache pouste tedy svoje podprocesy ktere zpracovavaji napr. zadosti o staticky obsah take pod uzivatelem ktery bezi php-fmp?

V podstatě ano, Apache musí mít přístup. Já s tím bojuji pomocí ACL a default
http://www.root.cz/clanky/acl-rozsirena-nastaveni-prav-v-linuxu/
http://www.abclinuxu.cz/clanky/bezpecnost/acl-prakticky

nemusi, php-fpm neresi uzivatele, na to je treba suexec

Řeší, viz parametry user a group: http://www.php.net/manual/en/install.fpm.configuration.php

Diky, pochopil jste to spravne v php-fpm resim prava pres user a group, to co bych chtel je aby
apache spoustel take vhost pod stejnym user a group jako je to nastaveno v php-fpm.

Podivam se na ACL i kdyz jsem s tim nikdy nedelal, nebylo by jeste reseni pouzit apache2-mpm-itk ve spojeni s php-fpm? bude to vubec fungovat a je to rozumne pro produkcni nasazeni? (web server ~ 200 vhostu)


Jakub L.

Re:Apache 2.4 a práva k souborům
« Odpověď #5 kdy: 04. 12. 2013, 12:54:25 »
Podivam se na ACL i kdyz jsem s tim nikdy nedelal, nebylo by jeste reseni pouzit apache2-mpm-itk ve spojeni s php-fpm? bude to vubec fungovat a je to rozumne pro produkcni nasazeni? (web server ~ 200 vhostu)

Fungovat by to asi mělo. Ohledně výkonu, nezbývá, než si to otestovat. Nahoď si to ve virtuálu bokem a zkus to obenchmarkovat... Uvidíš, jak velký je rozdíl...

Jimm

Re:Apache 2.4 a práva k souborům
« Odpověď #6 kdy: 04. 12. 2013, 15:02:48 »
Neřeší, statická definice je snad něco jiného.. Podle mého to napsal DK správně.
Řeší, viz parametry user a group: http://www.php.net/manual/en/install.fpm.configuration.php

Jakub napsal nesmysl, pokud je to statická žádost, s php-fpm to nemá co dělat a proces se spustí pod userem pod kterým je apache.

Ale co me zajima a uplne nevim jestli je to potrebne, nemusi apache pouste tedy svoje podprocesy ktere zpracovavaji napr. zadosti o staticky obsah take pod uzivatelem ktery bezi php-fmp?

limonade

Re:Apache 2.4 a práva k souborům
« Odpověď #7 kdy: 04. 12. 2013, 19:49:27 »
Neřeší, statická definice je snad něco jiného.. Podle mého to napsal DK správně.
Řeší, viz parametry user a group: http://www.php.net/manual/en/install.fpm.configuration.php

Jakub napsal nesmysl, pokud je to statická žádost, s php-fpm to nemá co dělat a proces se spustí pod userem pod kterým je apache.

Ale co me zajima a uplne nevim jestli je to potrebne, nemusi apache pouste tedy svoje podprocesy ktere zpracovavaji napr. zadosti o staticky obsah take pod uzivatelem ktery bezi php-fmp?

Nejsem expert, ale reálně když se podívam do procesů tak php-fpm beží pod ruznými uid i gid co mám v systému a jsou definované v poolu fpm.

Jimm

Re:Apache 2.4 a práva k souborům
« Odpověď #8 kdy: 04. 12. 2013, 20:19:03 »
Mohl byste mi prosím zaslat malou část toho configu kde se přiděluje tento pool? Já to na serveru nemám, to co píši mám jen z dokumentace a zajímá mě pokud takto kecám. :) Potom by se uid a gid přidělovalo v poolu php-fpm na virtualhost?

Děkuji.

Jimm

Re:Apache 2.4 a práva k souborům
« Odpověď #9 kdy: 04. 12. 2013, 20:32:31 »
Tak jsem si to našel, omlouvám se za mystifikaci v tomto bodě, skutečně je možno spawnovat vlákno každého modulu php-fpm pod jiným userem, večer si to zkusím. :)

limonade

Re:Apache 2.4 a práva k souborům
« Odpověď #10 kdy: 05. 12. 2013, 20:02:28 »
Ale co me zajima a uplne nevim jestli je to potrebne, nemusi apache pouste tedy svoje podprocesy ktere zpracovavaji napr. zadosti o staticky obsah take pod uzivatelem ktery bezi php-fmp?

V podstatě ano, Apache musí mít přístup. Já s tím bojuji pomocí ACL a default
http://www.root.cz/clanky/acl-rozsirena-nastaveni-prav-v-linuxu/
http://www.abclinuxu.cz/clanky/bezpecnost/acl-prakticky

nemusi, php-fpm neresi uzivatele, na to je treba suexec

Řeší, viz parametry user a group: http://www.php.net/manual/en/install.fpm.configuration.php

Tak jsem se prodral ACL, jestli to chapu, tak proste pouzijete ACL default do ni vlozit uzivatele pod kterym bezi apache a dat mu rw(je nutny ten write? nepostaci pouze read?), takze pokud uzivatel vytvori jakkykoliv soubor/adresar tak se k nemu apache dostane, coz je chytre a v podstate tim obejdete nutnost, aby apache musel bezet pod uzivatelem jinym uid/gui per vhost.

Zkusim jeste to mpm-itk, ale jinak se mi ty ACL libi, nema ACL nejaky fatalni dopad na vykon doufam?

Jakub L.

Re:Apache 2.4 a práva k souborům
« Odpověď #11 kdy: 05. 12. 2013, 21:49:49 »
Citace
Tak jsem se prodral ACL, jestli to chapu, tak proste pouzijete ACL default do ni vlozit uzivatele pod kterym bezi apache a dat mu rw(je nutny ten write? nepostaci pouze read?), takze pokud uzivatel vytvori jakkykoliv soubor/adresar tak se k nemu apache dostane, coz je chytre a v podstate tim obejdete nutnost, aby apache musel bezet pod uzivatelem jinym uid/gui per vhost.

Zkusim jeste to mpm-itk, ale jinak se mi ty ACL libi, nema ACL nejaky fatalni dopad na vykon doufam?

Adresáře by asi mohli mít read+execute, souborům podle mě stačí read... Takhle to vypadá u nás, ale podle mě je tam toho asi i zbytečně moc

Kód: [Vybrat]
# getfacl /home/www/username/
getfacl: Removing leading '/' from absolute path names
# file: home/www/username/
# owner: username
# group: username
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::---
default:user::rwx
default:user:www-data:r-x
default:group::r-x
default:mask::r-x
default:other::r-x

ACL by nemělo mít žádné vlivy na výkonnost, pokud netvoříte miliony souborů, které zase rychle mažete (což není úplně případ webserveru). Příkládám SO dotaz: http://stackoverflow.com/questions/2364563/does-acl-on-linux-impact-performance

limonade

Re:Apache 2.4 a práva k souborům
« Odpověď #12 kdy: 06. 12. 2013, 19:38:56 »
Citace
Tak jsem se prodral ACL, jestli to chapu, tak proste pouzijete ACL default do ni vlozit uzivatele pod kterym bezi apache a dat mu rw(je nutny ten write? nepostaci pouze read?), takze pokud uzivatel vytvori jakkykoliv soubor/adresar tak se k nemu apache dostane, coz je chytre a v podstate tim obejdete nutnost, aby apache musel bezet pod uzivatelem jinym uid/gui per vhost.

Zkusim jeste to mpm-itk, ale jinak se mi ty ACL libi, nema ACL nejaky fatalni dopad na vykon doufam?

Adresáře by asi mohli mít read+execute, souborům podle mě stačí read... Takhle to vypadá u nás, ale podle mě je tam toho asi i zbytečně moc

Kód: [Vybrat]
# getfacl /home/www/username/
getfacl: Removing leading '/' from absolute path names
# file: home/www/username/
# owner: username
# group: username
user::rwx
user:www-data:r-x
group::r-x
mask::r-x
other::---
default:user::rwx
default:user:www-data:r-x
default:group::r-x
default:mask::r-x
default:other::r-x

ACL by nemělo mít žádné vlivy na výkonnost, pokud netvoříte miliony souborů, které zase rychle mažete (což není úplně případ webserveru). Příkládám SO dotaz: http://stackoverflow.com/questions/2364563/does-acl-on-linux-impact-performance

A jak jste se vyporadal s neprijemnosti, ze se pri presouvani nemeni prava souboru, ale zustavaji puvodni, typicky upload souboru na web nekam do tmp? nekdo jsem koukal to resil tak, ze tmp adresar je pro kazdy web samostatny a tim padek pri uploadu ma soubor hned spravna prava i acl.