Jeg har en Redhat 6.2, og har derpå installeret Apache. Det kører i og for sig også ok, men når jeg skifter det directory om til noget andet end standard, og så prøver at surfe ind på mit fake domain, så siger den at jeg ikke har rettigheder til at se det directory... Jeg er root, så det er ikke det.. Hvad skal jeg gøre for at bruge et hvilket som helst directory som jeg har lyst til.???
Din root, når du surfer betyder ikke at du har root, når du sidder og surfer..
Når du connecter til en hjemmeside, så bliver der åbnet, noget som hedder en "child" process, som har et brugernavn og en gruppe, normalt er det "nobody". Hvad du skal gøre er følgende..
Prøv at lave en "ls -l" i dit directory, hvor du godt kan connecte til.
Og se hvem, som har rettighederne.. Dernæst gå til det andet directory, du prøver at connecte til og lav en "ls -l" og se bruger rettighederne..
Hvis de ikke er de samme laver du 1) hvis de er de samme prøver du 2)... Hvis du 1) ikke virker går du til 2)
ps. husk at dit masterdirectory og skal have en "ls -l" for at se.
1) Hvis de ikke er de samme, notere du, hvilken bruger, som ejede det directory, som virkede.
gå til det bibliotek, du gerne vil connecte til.
Dernæst siger du "chown bruger:gruppe navnpådir"
Bruger = Brugernavn du noterede Gruppe = Gruppen du noterede Navnpådir = Dit directory eller fil
du kan også lave en "man chown" for at se kommandoen.
Husk du skal ændre alle filer og dirs til denne nye bruger.. test det nu.
2) Hvis 1 ikke virker eller du bare vil teste det hvad jeg siger uden noget større arbejde kan du lave en "chmod" på dit directory du gerne vil have online.
Gå til directoriet uden for dit master directory. F.eks masterdir = /home/http gå til /home
Lav så en "chmod 777 navnpådir"
du kan igen lave en "man chmod"
Hvis du ikke ved hvad denne kommando gør lad mig forklare.
forstil dig at 777 = abc a = brugerens rettigheder. b = Brugerens gruppe rettigheder c = Alles rettigheder
Hvad betyder tallene så.
1 = Læse 2 = Skrive 3 = Læse og skrive 4 = køre programmet 5 = Læse og køre programmet 6 = skrive og køre programmet 7 = Læse, skrive og køre programmet (Fuld rettigheder)
Du skal ændre i den fil der hedder httpd.conf, den ligger forskellige steder på computeren alt efter distribution... men find den vha: "find / -name "httpd.conf*""
Det kan være der er nogle backups liggende, der direkte kan kopieres med standard konfigurationer, men ellers skal du gå ind og ændre i filen. Den har kommentarer ud for alle indstillinger, så det er bare at finde de rigtige steder, at pille ved den... Du skal genstarte serveren efter hver ændring for den træder i kraft.... Det bibliotek du vælger til filerne skal kunne læses af alle som z_master skriver ovenfor, mens filerne i cgi-bin skal kunne eksekveres....
Herrk >> Problemet, som jeg læser det er ikke så meget at redirecte i httpd.conf filen, men mere at hans Webbrowser ikke har adgang til at læse Biblioteket. Hvilket kunne tyde på at han måske, som root eller en anden bruger har oprettet et directory, hvor hans nye HTML filer skulle ligge i, men da Apache, når hvis du installere det fra Redhat 6.2 kører på brugernavnet nobody og gruppen nobody, så har dette brugernavn ikke adgang til at læse et root bibliotek eller en andens brugernavns bibliotek, så han burde nok ændre brugernavnet og gruppen på det directory han vil bruge
jeg har oprettet biblioteket som root, og smidt nogle html filer derind...og så ændrede jeg i lidt filer ang hvor at mit fake domain lå...og så får jeg af vide at jeg ikke har adgang til at se de filer....i min browser...
En anden ting, som jeg kom i tanke om du kunne gøre, men som er virkeligt dumt, hvis du vil have serveren konnectet til Internettet af årsager jeg vil forklare senere.
I httpd.conf skulle der være et sted hvor apache spørger hvilken bruger den skal køre som. Jeg tror du kan ændre dette fra hvad den står på til username = root (Default nobody) Usergroup = wheel (Default nobody) Jeg kan ikke huske om det står som username, men kig efter nobody eller noget, som minder om det jeg snakker om.
grunden til det er dumt at lade en systemdaemon er at den altid kan hackes/crackes? hvis der er en bug i apache eller i din indstillinger, så kan den/de udnyttes og derved så kan personen, som angriber overtage rettigehederne for den user, som kører Apache eller systemdaemonen. Så du kan godt forestille dig at der sker mindre skade hvis han kommer ind som nobody (Ingen rettigheder) end som root, plus hvis han kommer ind som nobody skal han stadig prøve at hacke/cracke sig videre til din masteraccount og her er der mange som opgiver og lader vær.
Dette er en af grundene man skal lade vær med at bruge sin root adgang til særlig meget.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.