Gå til innhold

Debian 7 webserver, directory browsing i nettleser


Anbefalte innlegg

Jeg er fersk i Debian, og sitter her å prøver å finne ut hvordan jeg enklest mulig kan aktivere directory browsing (hvis det er det det heter?)

 

Jeg har en mappe under www_public på nettsiden jeg kaller for DL. Jeg ønsker at når jeg skriver www.mittdomene.no/DL i nettleseren skal den liste opp alle filene i mappa, og trykke på dem for å kunne laste ned. Dette fikk jeg til i windows server, men her står jeg litt fast.

 

Jeg bruker webmin og virtualmin, men jeg finner ikke noe instillinger som kan endre dette.

 

Noen tips ?

Lenke til kommentar
Videoannonse
Annonse

hvilken webserver? apache2/nginx/annet?

 

Hvis du ikke vil vente på at noen skal google det for deg, så kan du finne ut hvilken webserver du har og søke på:

 

'webserver enable directory listing'

 

f.eks. 'apache2 enable directory listing'

 

Du må nok inn med ssh evt. redigere fila via kontrollpanel dersom det er mulig. Vil forøvrig ikke anbefale kontrollpanel dersom du vil lære deg linux. Det er stort sett kontraproduktivt (ift. læringsprosessen) og ikke minst en sikkerhetsrisiko (men jeg er nok også litt paranoid).

 

Forsøker ikke å være vanskelig, man vil jo gjerne ha svaret med èn gang, kanskje spesielt hvis man er litt nerd. Skjønner godt at man ikke vet hva man skal søke på :)

Endret av process
Lenke til kommentar

Da vil du sette 'Options +Indexes' på enten rotkatalogen eller DL mappen spesifikt.

 

<Directory /sti/til/mappe>

Options +Indexes

</Directory>

 

Du må også ha tilganger på mappen og filene slik at de kan leses av www-data brukeren og/eller gruppen.

 

Trodde egentlig dette var på per. default med apache2 i Debian.

Endret av process
Lenke til kommentar

Det er default i apache2 på Debian. Så lenge mappen ikke inneholder index.html, .php eller andre definerte index-filer så skal den liste ut innholdet uten noen videre konfigurasjon. Gjør den ikke det er det skrudd av. Directory listing har forøvring ingenting med PHP å gjøre. Hvordan du har definert www_public er ikke godt for oss å vite.

Lenke til kommentar

Prakteksemplar på hvorfor du burde bli kjent i shell og forstå filsystemet, og i dette tilfellet hvordan rettigheter virker. For at mappen og dets innhold skal være tilgjengelig for eksterne tilkoblinger må mappen /dl/ ha read og executable på world, dvs. f. eks 775 (rwxrwxr-x). Du kan finne ganske mye informasjon om det i denne posten, og hvordan permissions på *nix fungerer og endres kan du finne her. For å fikse akkurat denne mappen må du altså gjøre noe á:

$ chmod 775 www_public

Hvis nødvendig må du også sette riktig eierskap (typisk www-data for Apache). Sjekk først med ls -l. Spørs litt hva du vil, men nøkkelen her er at mappen ikke er lesbar/kjørbar for "world" (altså innkommende traffikk).

 

Det kan være enklere å forstå permissions ved å se på bilder, f. eks dette (google "linux permissions). Kort sagt representerer read ( r) 4, write (w) 2 og execute (x) 1, hvor du kan legge de sammen til å bli f. eks 7 for både read/write/execute eller 5 for kun read og write.

 

Du kan også endre stilen på directory listing i Apache om det er interessant.

Endret av Occi
Lenke til kommentar

Kanskje lurt. For all del ikke kjør på med 777, det kan du virkelig brenne deg på. Samme gjelder vel aggressiv rekursiv bruk av chmod eller chown.

 

Om du klarer å drite deg ut eller det blir rot i www-mappen din kan du fikse det relativt enkelt. Merk at akkurat hvilke rettigheter som bør brukes kan diskuteres, og avhenger av bruker/grupper brukt, men dette er vel rimelig standard tror jeg (bortsett fra SGID-biten, det første 2-tallet i 2775).

 

For mer informasjon om spesielle bits se denne linken (samt table som linkes til i artikkelen for fullstendig liste over kombinasjoner av permissions). Wikipedia-artikkelen om setuid/setguid er også fin. Directories er noe spesielle.

$ find /var/www -type f -exec chmod 0664 {} + # files
$ find /var/www -type d -exec chmod 2775 {} + # directories
Endret av Occi
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...