UNIX rendszeren lévő jogosultságokról lesz szó a Joomla! szemszögéből nézve.
Tartalomjegyzék |
Saját UNIX rendszerű szervert üzemeltető kezdő adminisztrátoroknak, akiknek több felhasználója van.
A Windows rendszer alatt üzemeltetett Joomla! tulajdonosoknak.
Ha tisztában vagy a jogosultság kezeléssel.
Sokat lehet olvasni a 777 jogosultságokról, fórumokon és leírásokban. Ez egy nagyon hibás jogosultsági érték, természetesen magát a rendszert nem ez védi de ez is hozzáad egy keveset a biztonsághoz. A lényeg a Végkövetkeztetésben elolvasható. Szó lesz a jogosultságok alapszintű ismertetéséről és egy példa a több felhasználós, több Joomla! oldalakat üzemeltetésének optimális jogosultságáról.
Itt csak az alapok lesznek bemutatva, ami nélkül értelmetlen lenne a leírás. Aki többet szeretne megtudni annak a keresőportálok google, yahoo remek segítséget nyújt.
Három egység van.
Mindhárom egységnek külön lehet beállítani a file-ra vagy könyvtárra vonatkozó jogait.
A jogokat meg lehet adni szimbolikusan, numerikusan vagy egy felhasználó programból. A felhasználói programot elvetjük mert egy alap Joomla! v1.5.1 689 könyvtárból és 3573 file-ból áll.
Szimbolikus megoldás tökéletes de egy rendszergazda körülbelül 3-4 numerikus értéket használ, és ugyis a 777 szeretnénk leváltani. Ezért a numerikus megoldást mutatjuk be.
Numerikus értékek:
u g o
rwx rwx rwx 421 421 421 ha szeretnénk a felhasználónak olvasás(r), írást(w) a csoportnak csak olvasást(r) a többieknek pedig nem adunk jogot akkor csak össze kell adni a betűk alatti számokat így 640 kapunk.
A jog beállítására a chmod parancsot használjuk.
chmod 640 LICENSE.php
Segítségül hívjuk még a find parancsot több file megváltoztatásához.
find -type f -exec chmod 640 {} \;
find -type d -exec chmod 750 {} \;
Ezzel a paranccsal nagyon óvatosan!!!
Az -exec mögötti parancsot végrehajtja minden (f esetén file-okra d esetén könyvtárakra) amelyik könyvtárban állunk és az alattuk lévő könyvtárakra vagy a könyvtárakban lévő fileokra is.
Ha például a gyökér könyvtárban vagyunk akkor ezzel a paranccsal tönkretehetjük az egész rendszert.
Ezért érdemes egy könyvtárváltás parancsot kiadni a find parancs előtt.
cd /var/www/joomlasdomain.hu
find ...
Csak akkor használd ha ismered a működését és tudod mit csinálsz.
Az itt leírtak nem keverendőek össze a Joomla! weboldalon lévő regisztrációkor létrehozott felhasználókkal!
Van három Joomla oldalunk
Van 6 felhasználónk.
A webszerver a népszerűsége miatt legyen apache ami www-data felhasználóként fut. És a file-ok a /var/www/[domain].hu/ alatt találhatóak.
A fiuk.hu-t a fiúk tudják karbantartani, a lanyok.hu-t a lányok és az osztaly.hu-t jozsi, jutka és viki
Hozzuk létre a csoportokat. (addgroup, vagy /etc/group szerkesztése)
és a /etc/group file-t módosítsuk
A számozás természetesen el fog térni (1001,1002,1003).
most beállítjuk a felhasználó és csoport neveket
chown -R sanyi.fiuk /var/www/fiuk.hu
chown -R jutka.lanyok /var/www/lanyok.hu
chown -R jutka.osztaly /var/www/osztaly.hu
majd a jogosultságot
cd /var/www/
find -type f -exec chmod 660 {} \;
find -type d -exec chmod 770 {} \;
find -type d -exec chmod g+s {} \;
Ezzel a következőket érjük el.
A Joomla! weboldalán keresztül bármihez van jogunk, természetesen ha birtokunkban van az adminisztrátor jelszava. Az ftp-n keresztül a fiuk csoportba tartozok közül a fiuk.hu oldal bármelyik file-át törölhetik, módosíthatják de a lanyok.hu könyvtárba be sem léphetnek.
Ha a csoport file jogokból elvesszük az írás jogát 640 akkor a Joomla! adminisztrátor felületén nem tudunk módosítani a konfigurációs file-okat, de képeket feltölthetünk a media könyvtárba mert a könyvtár jogokhoz nem nyúltunk. Ftp felületen csak a feltöltő módosíthatja a file-okat de a csoportba tartozók nem, csak megnézhetik.
Az egész lényege, hogy az (other) utolsó számnak mindig 0 adjunk és a csoportban legyen benne a webszervert futtató felhasználó, jelen esetben a www-data.