Wachtwoorden op webpagina's

Het is mogelijk een wachtwoord te zetten webpagina's. Het wachtwoord geldt voor een hele directory ineens. In dit voorbeeld beschrijf ik hoe je de directory wachtwoord met een wachtwoord beveiligt.

Eerste wachtwoord

Ssh naar cage en maak een directory, in dit geval wachtwoord genaamd, ergens onder de public_html directory:
cd public_html/mijnfiles/blah
mkdir wachtwoord
Ga in de directory staan (cd wachtwoord). We zullen de wachtwoordenlijst in een bestand wachtwoorden bewaren. Maak eerst een bestand in deze directory met naam .htaccess ( dus niet blabla.htaccess maar gewoon .htaccess zonder meer!) en met volgende inhoud:
AuthName "geheime directory"
AuthType Basic
AuthUserFile /u/gvernaev/public_html/wachtwoord/wachtwoorden

require user geert jan
De AuthName mag je willekeurig kiezen (de bezoeker krijgt iets te zien in de trant van ``geef wachtwoord voor geheime directory''); als je meerdere directories beveiligt met dezelfde AuthName, moet de gebruiker maar één keer een wachtwoord invullen.
De AuthUserFile moet het volledige Unix pad van het wachtwoordenbestand bevatten (dit bestand zal straks automatisch aangemaakt worden). Met require geven we aan dat alleen de gebruikers geert en jan toegang hebben tot deze pagina. We zullen dadelijk deze twee gebruikers in de wachtwoordenlijst plaatsen.

We zullen nu de wachtwoordenlijst maken. Je moet direkt al een wachtwoord aanmaken, bijvoorbeeld voor een gebruiker geert genaamd geef je het shell commando

htpasswd -c wachtwoorden geert
waarbij geert de naam van de gebruiker is die je een wachtwoord wil geven. Dit commando zal je dan om een wachtwoord vragen; in dit geval heb ik gewoon geert als wachtwoord gekozen (probeer het eens uit!). De wachtwoorden worden geëncrypteerd bewaard in het bestand wachtwoorden; het bevat regels in de stijl van
geert:U6v30oTwNxKGo
waarbij geert de naam van de gebruiker is en U6v30oTwNxKGo het geëncrypteerde wachtwoord.

Wachtwoorden toevoegen

Gaat op dezelfde manier, alleen mag je geen -c opgeven, want die optie zorgt ervoor dat een nieuw wachtwoordenbestand aangemaakt wordt (en alle oude wachtwoorden vliegen dus in de vuilbak!). Dus:
htpasswd wachtwoorden jan

Meer info

Apache Week: Using User Authentication (NB: `require valid-user' werkt niet bij mij; wachtwoorden werken ook alleen maar in user directories, d.i. met een tilde in de URL)
Mosaic User Authentication Tutorial met voorbeelden

Caveat

Als je deze uitleg probeert toe te passen op een andere webserver dan cage en het werkt niet, dan kan ik je niet verder helpen. Neem contact op met de systeembeheerder van de webserver die je gebruikt.

Geert Vernaeve <gvernaev@cage.rug.ac.be>