Igyekszem a biztonsági dolgokra odafigyelve üzemeltetni azt az 1-2 gépet, ami a kezem alá került az idők során.
Webszervert nem igazán kellett eddig még üzemeltetnem, amit igen, azok nagyon egyszerű konfigok voltak, amit viszonylag egyszerű volt pár gyors google keresés után beállítani.
Most van egy gép, amin apache van, php5 és egy symfony nevű php framework.
A beállítási igényeket nézve ezen a lapon elakadtam.
Azt írja, hogy a /var könyvtárat mind a webszerver mind a felhasználó (gondolom a webmasterről van szó itt) írni tudja. Az egészet.
A példákat nézve az a gyanúm, hogy valójában csak a /var/log és a /var/cache írására van szükség.
De akkor is. Én ezt nagyon furcsának találom.
Az tűnne nekem normálisnak, ha a webszerver olvasni tudná a /var/www könyvtár tartalmát, de írni nem tudna semmit.
Adatbázist elérhetné persze, és logolni is tudna a rendszer log szolgáltatását használva.
De az egész /var-ra írási jog? Aztán ha van egy php hiba, valami script kiddie az egész /var-t szét tudja túrni, és még a logokat is letörölni utána?
De rendben, ő maga akar fájl műveletekkel logolni, meg saját fájl cache-t készíteni. Engedjük meg!
De hogyan tudnám ez megoldani a legkevesebb plusz jogosultsággal?
Jelenleg a két könyvtár a root tulajdonában van, 755 jogokkal.
apache www-data felhasználó nevében fut.
Arra gondoltam, olyan acl vagy ilyesmi lenne jó, amivel a könyvtárba létre tud hozni új fájlt, de létező fájlt nem tud törölni.
A setfacl parancsot nézve úgy látom, hogy ez továbbra is csak rwx jogokat tud adni, csak az owneren, groupon és mindenki máson kívül is lehet meghatározni csoportokat. Viszont ha kap w jogot, azzal törölni is tud mások által létrehozott fájlokat.
Tegyek a két könyvtárra sticky bitet és adjak írás jogot a www-data csoportnak?
Vagy van ennél jobb megoldás?
- 1899 megtekintés
Hozzászólások
szimfóniám még nem volt, de azért megnézném, hogy a simphony alatt van-e "var", lehet arról beszél; példának okáért a Magentónak is van var konyvtara, ami alatt van cache meg log is.
a linken az elso kepen hianyzik is egy "/" siman "var/cache" -t is "/var/cache" helyett.
- A hozzászóláshoz be kell jelentkezni
Teljesen igazad van. Megnézem.
- A hozzászóláshoz be kell jelentkezni
Igen, ebben a listában van egy saját var:
https://github.com/symfony/symfony-standard
Ez lesz az, bizonyosan.
- A hozzászóláshoz be kell jelentkezni
Ezen leírás szerint a saját fájlstruktúrájában lévő var-ról lehet szó, ahogy azt előttem felvetették. Szóval nem a /var kell neki.
"A +1 az a proletárlájk."
- A hozzászóláshoz be kell jelentkezni