|
Denne artikkelen handler om hvordan du f.eks. kan sette passordbeskyttelse på en webmappe.
Dette dokumentet er skrevet med tanke på webmapper som er plassert på studentenes server student.hive.no eller gammel server (MIX) . Med mindre justeringer kan det også gjelde generelt for webservere som kjører Linux + Apache.
Generelt
På en Linux-maskin som kjører en Apache webserver (som er det som kjøres på Student.hive.no og MIX) kan man selv sette en hel del innstillinger for sitt eget webområde eller bare for en enkelt mappe eller enkelte filer. Hvis det finnes en fil som heter .htaccess (på Linux er det mulig å ha en fil som ikke har noe fornavn) i en av webmappene, så bruker webserveren de innstillingene som måtte finnes i den fila. Disse innstillingene gjelder enten for hele mappen (og undermapper), eller bare for enkelte filer. Jeg tar bare for meg det å sette innstillinger for hele mappen.
For å gjøre de nødvendige operasjonene på webserveren student.hive.no og MIX, må man bruke en såkalt terminalinnlogging som støtter SSH (SSH=en standard for kryptert kommunikasjon). PuTTY er et program som kan brukes til dette.
Hvordan laste ned PuTTY:
Dette er et program som ikke krever noen form for installering. Man kan med andre ord starte programmet direkte via Windows Utforsker. Du kan altså bruke Windows Utforsker til å finne fram til der hvor du lastet ned putty.exe, og dobbeltklikke på fila.
Hvordan logge seg inn:
- Når man starter PuTTY kommer dette bildet opp:
- I feltet for "Host Name", skriv navnet på serveren du vil logge inn på. I dette tilfellet er det mix.hive.no eller student.hive.no.
- I listen over Protocol - typer, velg SSH (altså ikke Telnet, som det først kommer opp).
- Hvis du vil lagre disse innstillingene for å gjøre det enklere neste gang du skal logge inn kan du skrive et eller annet beskrivene navn i feltet for "Saved Sessions", og klikke på knappen "Save"
- Når du er klar til å logge inn, klikk på "Open".
- Første gang du logger inn på denne måten fra den maskinen du bruker må du godta en SSH-key. Dette er en tilfeldig laget krypteringsnøkkel som blir lagret på din maskin. Noe mer en det trenger du ikke vite om den krypteringsnøkkelen, for resten går automatisk.
- Så kommer dette bildet opp:
- Skriv inn ditt brukernavn + trykk Enter
- Så blir du spurt om passord. Skriv inn ditt passord + trykk Enter
- Da skulle du se noe slikt som dette:
Du har da logget inn og er klar til å skrive linuxkommandoer.
Passordbeskyttelse
For å lage passordbeskyttelse må en først opprette en fil som inneholder en liste over brukere og tilhørende passord. Denne fila trenger ikke (og bør ikke) ligge i en mappe som er synlig på Internett. Du kan kalle fila hva du vil. I dette eksempelet viser jeg hvordan du på MIX-serveren kan lage en slik fil som heter webusers og som plasseres i en mappe som vi også kaller for webusers.
(Jeg skriver beskrivelsen ut fra bruk av programmet SSH Secure Shell Client.)
NB! Etter hver av linuxkommandoene må dere trykke Enter. (Det er faktisk den eneste måten Linux kan finne ut at "nå er du ferdig med å skrive kommandoen og at du vil kjøre kommandoen".)
Grunnleggende kommandoer du MÅ kunne for å følge denne bruksanvisningen:
| ls |
Lister opp alle mapper og filer i den mappen du befinner deg |
| ls -lh |
Samme som ls, men du får en mer detaljert liste med informasjon om bl.a. mappen/filens rettigheter, størrelse og dato. |
| cd mappenavn |
Gå inn i en annen mappe. Bytt ut "mappenavn" med navnet på den mappen du vil gå inn i.
(cd = change directory) |
| cd .. |
Gå til mappen ovenfor. |
| mkdir mappenavn |
Lag ny mappe. Bytt ut "mappenavn" med navnet på den mappen du vil lage.
(mkdir = make directory) |
Lage fil som inneholder en liste med brukernavn og passord:
- Start PuTTY, og logg inn på student.hive.no (eller mix.hive.no) med ditt brukernavn og passord. (Se avsnitt ovenfor for å få greie på hvordan.)
- Gå inn på mappen public_html (eller WEB, hvis du har logget inn på mix.hive.no) ved å skrive kommandoen
cd public_html
- Gå inn i den mappen du vil skal bli passordbeskyttet. Hvis mappen ikke eksisterer, lag den.
(for eksempelet sin del lager jeg en mappe som jeg kaller min_mappe).
mkdir min_mappe
- Opprett en fil som heter .htpasswd og lag samtidig en linje i fila som inneholder nødvendig innloggingsinformasjon for én bruker. Dette gjøres med kommandoen på student.hive.no: (På mix skal man bruke kommandoen htpasswd og uten switsjen -c):
htpasswd2 -c .htpasswd brukernavn (svitsjen -c brukes bare første gang du oppretter fila)
(Bytt ut "brukernavn"med et brukernavn du vil. Dette blir et brukernavn for innlogging via en webside og har ikke noe å gjøre med ditt vanlige brukernavn på MIX eller student.hive.no.)
- Du blir så bedt om å skrive inn et passord som skal høre til den brukeren du holder på å opprette. Finn på et passord. Dette trenger heller ikke å være likt som ditt passord på student.hive.no (eller mix.hive.no).
- Du blir også bedt om å gjenta passordet. Dette er for å kontrollere at du ikke har trykket på feil taster da du skrev inn det første passordet.
- Det skal nå stå noe slikt som dette på de nederste linjene i programmet:
[smr@mix min_mappe]$ htpasswd2 .htpasswd brukernavn
New password:
Re-type new password:
Adding password for user brukernavn
[smr@mix min_mappe]$
- Hvis du vil legge til flere brukere kan du gjenta kommandoen i punkt 4 uten svitsjen -c, og bare skrive et annet brukernavn. For å endre passord på en bruker som allerede eksisterer i fila webusers kan du også gjenta den samme kommandoen og skrive et brukernavn som du vet eksisterer fra før. Kommandoen blir altså htpasswd2 .htpasswd brukernavn
- Hvis du vil se hvilke linjer som faktisk har blitt laget i fila webusers kan du skrive kommandoen
cat .htpasswd
Linjene blir da skrevet ut på skjermen og du vil da se at hver linje starter med brukernavnet, et kolon, og så kommer passordet (i kryptert form).
Lage/redigere en .htaccess - fil for å aktivere passordbeskyttelsen
Nå fungerer det altså slik at du kan passordbeskytte en hvilken som helst mappe innenfor dine web-mapper. Hvis det i en web-mappe finnes en fil som heter .htaccess, så vil webserveren lese den fila og bruke de innstillingene som finnes der når den skal presentere siden for de som måtte surfe innom akkurat din side.
Det du nå må gjøre er å lage en fil som inneholder ren tekst. Det finnes flere ulike teksteditorer på Linux. Jeg velger å bruke en som heter vim.
- Hvis du ikke er logget inn på student.hive.no (eller mix.hive.no), gjør det (terminal-innlogging).
- Gå inn på den mappen du vil skal bli passordbeskyttet. (Se i tabellen lenger oppe for å finne ut hvilke kommandoer du må bruke.)
- Hvis du ikke har laget en fil med liste over brukernavn, se avsnittet ovenfor ("Lage fil som inneholder en liste med brukernavn og passord") for å finne ut hvordan du gjør det.
- Du trenger nå å vite det fullstendige navnet på den mappen du står i. Dette finner du ut ved å skrive kommandoen
pwd -P
Resultatet skulle bli noe slikt som dette:
[smr@mix min_mappe]$ pwd -P
/mnt/has/www/smr/min_mappe
[smr@mix min_mappe]$
Det du er ute etter er altså hele linjen "/mnt/has/www/smr/min_mappe" slik den blir vist på din skjerm. Akkurat hvordan denne linjen blir avhenger av hvilken bruker du er og hvilken mappe du skal passordbeskytte.
- Noter ned det fullstendige mappenavnet.
- Start teksteditoren vim med en kommando som dette:
vim .htaccess
- Når du er inne i editoren må du trykke på insert knappen slik at det nå står --INSERT-- nede i venstre hjørne.
- Så må du skrive inn følgende tekst i .htaccess-fila:
AuthType Basic
AuthName "Passordbeskyttet"
AuthUserFile /mnt/has/www/smr/min_mappe/.htpasswd
<Limit GET>
order deny,allow
deny from all
require valid-user
satisfy any
</Limit>
- I den tredje linja må du bytte ut siste del av linjen med det du noterte deg i punkt 5. Legg til teksten "/.htpasswd" på slutten, slik jeg har gjort. (Denne linja er for å fortelle hvor fila med listen over brukernavn og passord ligger.)
- I den andre linja (som starter med AuthName) kan du skrive hva du vil mellom anførselstegnene. Dette er den teksten du vil skal dukke opp i passordboksen.
- Når du har skrevet inn det du skal trykk på esc knappen (øverst til venstre på tastaturet) og deretter skriv inn w: og trykk enter for å lagre filen.
- Deretter kan du skrive q: for å gå ut av editoren. (Husk at det ikke må stå --INSERT-- nederst i venstre hjørne hvis kommandoene skal fungere. Står det --INSERT-- så trykk på esc knappen til den forsvinner. Står det --INSERT-- er du i skrivemodus. Står det ikke noe der er du i kommando-modus).
- Et tips er at hvis du har skrevet eller gjort så mye rart og vil gå ut av editoren uten å lagre så bruker du kommandoen q!. Da vil du gå ut av editoren uten å lagre endringene du har gjort.
Nå kan du starte en nettleser gå inn på den adressen som gjelder for mappen du har passordbeskyttet. Hvis det kommer opp en boks som ber om brukernavn og passord har du gjort det riktig.
|