Portál AbcLinuxu, 12. května 2025 08:39

Dotaz: php bezici pod vlastnikem skriptu

24.9.2012 13:45 LAGer
php bezici pod vlastnikem skriptu
Přečteno: 355×
Odpovědět | Admin
Zdravim,

aktualni setup: apache + php(jako cgi - fcigd) + php wrapper + userdir + custom suexec(debian balik) zkousel jsem to zhruba podle nejakeho tutorialu, co jsem vygooglil, ale bohuzel jsem nedokazal docilit presne toho, co jsem zamyslel.

vetsina tutorialu zabyvajicich se podobnou tematikou, ktere jsem nasel to resi pouze v ramci virtualhostu a me jde ciste o reseni pro uzivatelske homy.

Konkretne bych tedy chtel aby spusteny skript /home/username/public_html/muj_skript.php bezel jako systemovy proces pod uzivatelem username a skupinou, kterou ma uzivatel primarne pridelenou. Cilem tohoto reseni ma byt moznost kontroly skriptu kazdym uzivatel v ramci systemu a zaroven omezeni systemovych zdroju pridelenych uzivateli.

S defaultnim nastavenim - php je vyrizovano pod www-data to bohuzel neni dost dobre mozne.

diky za tipy
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 24.9.2012 14:24 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vytvořený virtualhost míří na nějaký adresář, vše pod tím adresářem lze spouštět pomocí definovaného uživatele a skupiny. Co adresář/+podadresáře, to jedna doména.
O toto se právě stará zmíněný wraper se suexec, popř. přímá implementace v apache "apache2-mpm-itk" (netřeba wraper, vše běží "samo").
Pak to tedy může vypadat takto :
uzivatel1:skupina1 - www.domena1.tld - /home/vweb/domena1.tld/www/script.php
uzivatel2:skupina2 - www.domena2.tld -/home/vweb/domena2.tld/www/script.php
uzivatel3:skupina3 - www.domena3.tld - /home/vweb/domena3.tld/www/script.php

Také může existovat varianta, že budou mít všechny domény společný nějaký script. Podle toho, která doména zmíněný script spustí, pod takovými právy ten script poběží (klasické dědění práv)
Zdar Max
Měl jsem sen ... :(
24.9.2012 14:27 LAGer
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Cus, nejsem si jist, ze si rozumime ..

vsechna uzivatelska data by mela byt pristupna pod www.domena.tld/~username/ pokud je to mozne nejak jednoduse udelat i v tomto pripade, mohl bys me prosim nakopnout nejak vic, pripadne dat nejake odkazy, ktery by mi s tim meli pomoct?

moc diky
Max avatar 24.9.2012 14:46 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Stále nevím, jak to myslíš? Budeš mít více domén? Nebo budeš mít jen jednu doménu a chceš řešit, aby vše pod ní běželo pod jiným uživatelem a skupinou?
Nebo chceš mít jednu doménu, více scriptů a ty spouštět pod různými uživateli podle toho, jaký bude mít zmíněný script vlastníka?
Zdar Max
Měl jsem sen ... :(
24.9.2012 20:54 LAGer
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Nebo chceš mít jednu doménu, více scriptů a ty spouštět pod různými uživateli podle toho, jaký bude mít zmíněný script vlastníka?
Presne takto je to mysleno, jedna domena, kde kazdy uzivatel ma nejaka data v ~/public_html .. v pripade php skriptu se snazim docilit toho, aby skript bezel pod tim, kdo ho vlastni. Jina data zatim neuvazuju
24.9.2012 21:54 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Tak to ta sklamem ale nepojde to. Presun veci na subdomeny na danej domene + MPM ITK.
25.9.2012 11:39 LAGer
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
mohl bys to prosim vice rozpsat? dik
25.9.2012 13:34 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Proste si prerob system tak, aby sa nepouzivali adresy typu:
www.domena.tld/~login

ale typu:
login.domena.tld

Tymto sposobom dosiahnes zmenu UID velmi jednoducho pomocou MPM ITK (UID a GID nastavis na kazdy virtualhost).
25.9.2012 13:42 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Akurat ma napadlo, ze novsie verzie MPM ITK podporuju aj 'Directory', cize by malo byt mozne nastavit UID/GID na zaklade adresara, z ktoreho sa skript spusta (cize by to mohlo fungovat aj cez /~login).
Max avatar 24.9.2012 22:01 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Tak to jedinou možností zmíněný mod_ruid, ale nevím, nevím, už je to starší neudržovaný projekt s nějakými mouchami, viz : Problém s Apachem a mod_ruid + jeho řešení
Zdar Max
Měl jsem sen ... :(
24.9.2012 14:35 eth4rendil | skóre: 13
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
skus mod_ruid: http://websupport.sk/~stanojr/projects/mod_ruid/ spusti process v linuxe pod userom, ktory vlastni dany subor
Jakub Lucký avatar 25.9.2012 12:11 Jakub Lucký | skóre: 40 | Praha
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co suphp? Není to úplně nejrychlejší, ale funguje to...
If you understand, things are just as they are; if you do not understand, things are just as they are.
25.9.2012 13:20 LAGer
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
take uz jsem to nekde nasel, ale co se tyce konfigurace, tak se zda, ze to nebude az tak jednoduche ..
25.9.2012 13:36 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: php bezici pod vlastnikem skriptu
suphp sa uz nevyvija a je to zbytocne komplikovane riesenie (nevyse funguje len pre PHP)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.