Avatar billede petersss Nybegynder
15. januar 2002 - 18:24 Der er 6 kommentarer og
2 løsninger

Hvordan giver jeg php adgang til filsystemet i apache?

Jeg skal bare give et php script lov til at skrive i en fil i min www root...
Avatar billede langbein Nybegynder
15. januar 2002 - 21:03 #1
Tror at du må gi eieren av httpd prosessen full tilgang til www.root Ved å kjøre kommandoen top og der etter \"shift M\" for sortering etter minnebruk, så vil du normalt kunne se hvem som er eier av httpd prossesen. For Red Hat 7.1/7.2 så blir det ved standard konfigurasjon opprettet en bruker som heter \"apache\". Jeg vil tro at tingene vil kjøre hvis denne brukeren får de rettigheter til directory som behøves. Event så kan du jo midlertidig og for uttesting kjøre chmod 777 for dir og filer, men da kan jo også alle skrive inn i directory.
Avatar billede peter_m Nybegynder
16. januar 2002 - 09:09 #2
Det det 777 er er noget skod efter min mening.

gør brug af groups er en bedre ting.
Avatar billede gellertekspert Nybegynder
16. januar 2002 - 13:37 #3
Og husk også lige at skifte ejerskabet af den fil, du vil skrive til, over til httpd-processen også
Avatar billede bluehorse Nybegynder
20. januar 2002 - 01:56 #4
Se hvilken bruger dit php bliver udført som (sandsynligvis nobody) og lad din www root være writable for den user.
Avatar billede petersss Nybegynder
20. januar 2002 - 13:39 #5
Det er nobody, hvordan gør jeg den writeable?
Avatar billede gellertekspert Nybegynder
20. januar 2002 - 22:42 #6
cmod +x /sti/til/filnavn
Avatar billede gellertekspert Nybegynder
20. januar 2002 - 22:48 #7
Sludder
Avatar billede bluehorse Nybegynder
21. januar 2002 - 09:54 #8
Fx kan du gøre følgende:

Hvis det er en fil, der skal være writable:

chown nobody:nobody /sti/til/wwwroot/writefil
chmod 750 /sti/til/wwwroot/writefil

Hvis det er hele www root samt de filer der ligger deri:

chown nobody:nobody /sti/til/wwwroot
chown nobody:nobody /sti/til/wwwroot/*
<osv>
chmod 750 /sti/til/wwwroot
chmod 750 /sti/til/wwwroot
<osv>

Dette gør det kun muligt for apache og tilhørende moduler (alt under nobody user+group) at læse fil og wwwroot. Din root user vil dog stadig også kunne læse og skrive der.

Såfremt det er et userdir, hvor din user også skal have rettigheder til filen (fx ved ~/public_html) kan du gøre følgende:

chgrp nobody /home/dinuser/public_html/din_fil
chmod 770 /home/dinuser/public_html/din_fil

Dette gør at både din egen user (som jo har oprettet dokumentet sandsynligvis OG nobody kan læse og skrive i dokumentet.
Du kan også gøre det med directories, som vist ovenfor.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester