Authentikált oldalak Apache web szerver alatt

 

Az alábbi leírásnak megfelelően egyszerűen varázsolhatunk védett oldalakat a web szerverünkre.

 

Az authentikáció beállításához a következő módosításokat kell végrehajtani az Apache konfigurációjaban:

Az "/etc/Apache/access.conf" fájlban az "AllowOverride" opció "None" értékét "AuthConfig"-ra kell cserélni.

Utána az Apache-t újra lehet indítani: /etc/init.d/apache reload

 

Ezután a web szerver munkakönyvtárában, azon belül a védeni kívánt alkönyvtárban létre kell hozni egy ".htaccess" fájlt. E fájl által meghatározott authentikáció lesz érvényes az összes alatta elhelyezkedő könyvtár tartalmának eléréséhez, hacsak nincs egy lejebb levő szinten újabb, más értelmű ".htaccess" fájl. Egy ilyen fájlnak az alábbi példához hasonlót tartalmaz:

AuthType Basic

AuthName "VBGSRV szerver statisztikái"

AuthUserFile /etc/statpwd

AuthGroupFile /dev/null

 

<Limit GET POST PUT>

require valid-user

</Limit>

 

A paraméterek jelentése a következő:

AuthName Szöveg, mely megjelenik az authentikációt kérő ablakban. Általában egy "mihez kérek authentikációt" szöveget tartalmaz.
AuthUserFile Maga a jelszófájl, részletek lejebb.
require A jelszófájlban szereplők közül ki jogosult. A valid-user az összes a jelszófájlban szereplő felhasználót jelenti, de fel lehet sorolni csak bizonyos felahsználókat is.

 

A jelszófájlt a "htpasswd" programmal hozhatjuk létre, tölthetjük fel. Ha még nem létezik a jelszófájl, akkor a "-c" opcióval kell létrehozatni. Ezt csak az első alkalommal, az első felhasználó felvételekor kell elvégezni.

htpasswd -c /etc/jelszófájl felhasználó         (htpasswd -c /etc/pwdf kovacsp)

Utána ugyanezt a parancsot kell használni újabb felhasználók felvételéhez, csak a "-c" opció nélkül.

htpasswd /etc/pwdf kelemen

htpasswd /etc/pwdf katona

....

Amennyiben a felhasználónév megtalálható a jelszófájlban, akkor bekéri és kicseréli a hozzá tartozó jelszót. Ha nem létezik, akkor létrehozza egy új sorban.

Végeredményben a jelszófájl soronként tartalmazza a felhasználónév:jelszó párosokat. A jelszó crypt() típusú.

Felhasználó törléséhez egyszerűen ki kell törölni a hozzá tartozó sort a jelszófájlból.