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.