Unix jogok beállítása Joomla! rendszerhez

Nemrég megkért egy ismerősöm aki Joomla! CMS rendszert üzemeltet egy linux serveren, hogy nézzem meg a rendszer jogosultságokat, mert korábbi jogok hiánya miatt full hozzáférés azaz 777-es jog lett adva a teljes webserver dokumentum könyvtárstruktúrára. Kis netes tudakozást követően, valamint Azurea kolléga segítségét kérve (akinek ezúton köszönöm fáradozását és egyébként Írország egyik meghatározó IT cégénél dolgozik felelős vezető beosztásban...) sikerült beállítani a megfelelő jogosultságokat, figyelembe véve a Joomla! rendszer sajátosságait is. A továbbiakban leírom milyen parancsok kerültek végrehajtásra.

Példánkban a webserver dokumentum könyvtára a /var/www alatt található, tehát a továbbiakban ezzel a mappával és annak tartalmával fogunk foglalkozni.

Mielőtt bármilyen módosítást végeznénk ajánlatos lementeni a teljes dokumentumkönyvtárat az alább paranccsal, célként itt a /home mappa van megadva, természetesen máshová is pakolhatjuk az archivált tömörített mentésünket:

tar czvf /home/www090617.tar.gz /var/www

A mentést követően kilistázhatjuk a módosítás előtti jogosultsági állapotot, esetleg el is menthetjük a kimenetet a későbbi összehasonlítás végett:

ls -lah /var/www

Ezt követően lépjünk bele a dokumentum könyvtárba és minden további parancsot ott hajtsunk végre, nagyon fontos mert máskülönben végzetes lehet a módosítás az egész rendszer számára!

cd /var/www/

A következő parancsokkal csak rendkívül óvatosan és körültekintően bánjunk, elsőként az összes fájlnak adunk 660-as jogot (felhasználónak és csoportnak írási, olvasási jogok), majd a könyvtáraknak 770-es jogokat (felhasználónak és csoportnak írási, olvasási, futtatási jogok), végezetül pedig beállítjuk a könyvtárakra a csoportengedélyeket és a csoportazonosítókat. Lássuk sorjában az összetett parancsokat:

find -type f -exec chmod 660 {} \;

find -type d -exec chmod 770 {} \;

find -type d -exec chmod g+s {} \;

Ha ezekkel a parancsokkal  végeztünk, akkor a szigorúbb jogosultsági beállítások miatt nem lesz elérhető a weboldalunk, így végzetül állítsuk be tulajdonosként a www-data usert:

chown -R www-data /var/www

Ezek után már egészen biztosan működnie kell portálunknak és az induló állapothoz képest (ahol is mindenen full 777-es jog volt), sikerült egy szigorúbb, biztonságosabb jogosultsági beállítást előállítani.

Ajánlom tanulmányozásra az alábbi wiki oldalt unix jogosultságok témában, természetesen rengeteg más anyag is elérhető a neten, illetve a man parancsot is használhatjuk:

Jogosultságok kezelése UNIX rendszeren (a bűvös 777)

Forrás: quartz.hu

 
Tartalomkezelő rendszer segítségével könnyen karbantartható, szabványos, keresőoptimalizált weboldal készítése, üzemeltetése, domain és webtárhely.