Tilbake

Passordbeskytte deler av nettside

Hvordan å passordbeskytte en hel katalog på din nettside mot innsyn. Gjelder både for ditt private område (folk.ntnu.no) og studentorganisasjoner (org.ntnu.no).

Kanskje du var heller ut etter:

Beskytte filer/mapper mot innsyn #

Du kan normalt ikke beskytte et enkelt dokument mot innsyn på en enkel måte, men du kan beskytte en hel katalog slik at alle som prøver å få tilgang til et dokument i denne katalogen, eller en underkatalog, vil bli spurt om brukernavn og passord.

Dette gjør du ved å legge en fil ved navn .htaccess i den katalogen du vil sperre. I denne fila må du blant annet spesifisere hvilke brukere som skal ha tilgang til dokumentet og hvilken passordfil passordene skal hentes fra. Passordfila må lages med et program som heter htpasswd.Hvis du trenger hjelp til å legge ut filer på webområdet ditt, se Lag din egen nettside.

Fordi webserveren må kunne lese innholdet i dokumentene den skal sende ut, må disse dessverre være lesbare for alle. Dette innebærer at et passordbeskyttet dokument kun er beskyttet mot innsyn gjennom webserveren. Dette betyr igjen at andre brukere kan lese innholdet i dokumentene dine ved å gå direkte inn på webområdet ditt (og underkatalogene der). Med andre ord: Passordbeskyttelsen gjelder kun for nedlasting gjennom webserveren.

Du kan beskytte enkeltfiler også, men det blir litt for avansert til å beskrive her. Se Apache sin dokumentasjon for hvordan du gjør dette.

Logge seg på med terminalklient #

Å gjøre det som er beskrevet i det følgende forutsetter at du er logget på med en terminalklient.

Her ser du hvordan du kan logge deg på med terminalklient for Windows og Linux.  En mer generell innføring finner du her.

.htaccess #

Denne fila har betydning i flere sammenhenger, blant annet når du skal lage aksesskontroll på kataloger, eller for eksempel i forbindelse med CGI-scripting.

For at denne fila skal virke må alle ha leserettigheter. Dette gjør du ved å skrive følgende i et terminalvindu.

chmod a+r .htaccess

Den må, som alt annet som skal publiseres på web fra stud, legges ut på webområdet ditt.

Hvis du ikke har en egen terminalklient kan du bruke en Java terminalklient.

Syntaks i .htaccess #

For å legge inn aksesskontroll må du legge inn følgende linjer i .htaccess (som plasseres i den katalogen du vil kontrollere). Hvis fila ikke eksisterer, må den opprettes først.

AuthUserFile /path/til/fila/navn.paafil

Der path/til/fila er full path til fila du lager med htpasswd. Passordfila må ligge på webområdet, og pathen vil typisk være /web/folk/brukernavn/passordfil.

AuthGroupFile /path/til/fila/navn.paafil

Denne linja spesifiserer hvilken gruppepassordfil som skal brukes. Denne kan godt være /dev/null, tilsvarende ingenting, men den må være der.

AuthName NavnPaaPopUp

Der NavnPaaPopUp er et passende navn på den boksen der man skal skrive inn navn og passord.

AuthType Basic

Denne må være med.

<Limit GET POST>

Denne linja starter blokka med alle brukere som kan bruke denne katalogen. Blokka avsluttes med

</Limit>

Inne i denne blokka skal du ha linjer for hver bruker, som ser ut som dette:

require user whatever

Der whatever er brukernavnet på en bruker som skal ha adgang. Hver bruker må ha en slik linje og de må ha et passord i passordfila som matcher brukernavnet. Du kan eventuelt bruke

require valid-user

for å si at alle brukere i passordfilen skal ha tilgang.

Eksempel på .htaccess #

Her er eksempel på en .htaccess-fil som gir en passordboks med teksten 'EnLitenTest'. Brukerne 'ditt' og 'datt' vil kunne logge inn, og passordene deres sjekkes mot filen webpasswd som ligger under /web/folk/bruker/webpasswd

	AuthUserFile /web/folk/bruker/webpasswd
	AuthGroupFile /dev/null
	AuthName EnLitenTest
	AuthType Basic
	<Limit GET POST>
	require user ditt
	require user datt
	</Limit>

htpasswd #

For å lage en passordfil som webserveren kan forstå må du bruke programmet htpasswd i UNIX. Man kan logge seg inn på login.stud.ntnu.no for å bruke denne kommandoen. Skriv bare htpasswd for å få opp en beskrivelse for hvordan en bruker kommandoen. Dette programmet krypterer passordene og legger de til passordfila. Du bør legge passordfila i en egen katalog for å gjøre det så sikkert som mulig. Denne katalogen må bare være leselig for deg og besøkbare for andre. (Bruk "chmod 701" etc for å oppnå dette.) Selve fila må være lesbar for webserveren (bruk "chmod o+r fil"), og hjemmekatalogen må være tilgjengelig for webserveren (bruk "chmod o+x /.").

NB! Siden passordet på den vanlige webserveren overføres i klartekst skal man ikke bruke samme passord som man har på brukerkontoen sin.

htpasswd brukes på denne måten:

htpasswd navn-paa-passordfil brukernavn

navn-paa-passordfil er navn og path til passordfila di. brukernavn er navnet på den brukeren du skal legge til.

Dersom du skal opprette en ny passordfil må du legge til en -c til kommandoen, slik:

htpasswd -c navn-paa-passordfil brukernavn

Når du starter htpasswd vil programmet spørre om passordet til brukeren to ganger og så kryptere det ned til fila. Hver bruker som skal ha tilgang til den katalogen du beskytter må ha et passord i passordfila. Alle legges inn på samme måten.

Eksempel på htpasswd #

Baserer seg på at .htaccess er som beskrevet ovenfor: 

  • cd /web/folk/brukernavn - for å komme til webkatalogen
  • mkdir etc - lager katalog for passordfil
  • chmod 701 etc - gir tilgang til katalog
  • htpasswd -c etc/webpasswd ditt - oppretter passordfil og legger til bruker ditt
  • chmod o+r etc/webpasswd - gir tilgang til fila 

Se også #

Kontakt #

Orakeltjenesten kan hjelpe deg med å koble til ditt webområde, og vise deg hvordan å sette filrettigheter. Avansert tilgangkontroll på mapper som vist i denne artikkel og spørsmål utover dette, har derimot NTNU ikke support på.

0 Vedlegg
18333 Visninger
Gjennomsnitt (1 Stemme)