Fórum Root.cz
Hlavní témata => Server => Téma založeno: limonade 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.
-
nemusi, php-fpm neresi uzivatele, na to je treba suexec
-
Jen doplním, práva vyřešte například správnou definicí skupiny, asi zde: /etc/php5/fpm/
-
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
-
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)
-
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...
-
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?
-
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.
-
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.
-
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. :)
-
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?
-
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
# 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
-
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
# 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.