Gå til innhold

Spørsmål om chmod via php


Anbefalte innlegg

Hei,

Som evig Windows-bruker er jeg ikke så familiær med Unix/Linux. Selv om jeg forstår det grunnleggende har jeg likevel noen spørsmål:

  • Hvor "dramatisk" er det at en mappe til enhver tid har 777?
  • Jeg bruker CPanel, hvordan finner jeg ut hvem som "eier" filer/mapper?
  • Kan jeg, vha CPanel eller php, endre hvem som skal stå som eier av filer/mapper?

Årsaken til disse spørsmålene er at jeg har et script som lager en ny fil og legger den på serveren. Det fungerer utmerket hvis mappen filen skal ligge i alltid har 777, men siden jeg tror at den statusen på en fritt tilgjengelig mappe (f.eks public_html) ikke er bra fra et sikkerhetsståsted ønsker jeg å legge til i begynnelsen av scriptet mitt at chmod skal endres fra 755 til 777, for så å endres tilbake til 755 igjen i slutten av scriptet. Problemet når jeg gjør dette er at jeg får permission denied...

 

På forhånd takk for hjelpen! :)

Mvh Primaxx

Lenke til kommentar
Videoannonse
Annonse

Takk, Loomy, men et nytt spørsmål dukker da opp; jeg forstår det nemlig slik at hvis jeg åpner for at f.eks "nobody" kan eie filen, så har jeg basically åpnet systemet mitt for alt og alle som ønsker å hacke siten min? Er dette riktig?

 

 

Det jeg egentlig er på jakt etter er følgende:

 

Jeg er i sluttfasen på et enkelt publiseringssystem som ikke bare skal kjøres på "min" server. De som bruker systemet kan logge seg inn, og legge til sider (php-filer) til siten, som de senere kan publisere artikler på. F.eks ønsker brukeren å ha en side som heter referanser. Systemet mitt generer da en side som heter domene.com/referanser.php. Her kan han da publisere det han måtte ønske av referanser osv. Så langt har jeg bare fått til dette ved å sette /home/domene/public_html til 777 kontinuerlig, noe jeg ikke ønsker. Derfor ønsker jeg at scriptet som produserer referanser.php skal endre public_html fra 755 til 777, produsere siden, og så endre tilbake til 755. Er dette mulig?

 

Mvh Primaxx

Lenke til kommentar

Hei. Det er desverre ikke mer enn to mulig løsninger:

 

1. Ditt nettsted kjører på en egen v-host, og ikke på "samme" server som de andre nettstedene som ligger på denne serveren. Da kan du fint gi apachebrukeren tilgang til å skrive til denne filen. Det er da bare ETT STORT PROBLEM. ftp har ingen chown/chgrp funksjon (change owner / change group).

 

2. Safemode = on, i php.ini. Hvis safemode er satt til on, vil script som kjøres, kun kunne skrive til filer som har like rettigheter som scriptet selv. Samtidig trenger apache tilgang til å skrive til denne filen. Altså feks:

uid = brukernavn

gid = apache

;)

 

 

Å ha chmod 777, er ingen god idè. Da ALLE brukere og grupper på systemet har tilagng til å skrive til denne mappen da.

 

Har aldri vært borti CPanel.

Lenke til kommentar

Takker for svar!

 

Axentrix (og ex0n), la oss si at safemode er off. Da er det alternativ 1 som gjelder.

Som sagt er mine linuxkunnskaper ganske stusselige...

Er webserveruseren den samme som den som står foran public_html i /home/webserveruser/public_html/ ?

 

Hvis ja, hvordan får jeg serveren til å forstå at php-scriptet som kjøres eies av webserveruser? Er dette noe jeg eventuelt kan gjøre i php-filen som kjører scriptet (Noe ala den måten man sender brukernavn og passord når man kobler seg opp mot MySQL-basen)?

 

Eller er jeg helt på bærtur nå? :blush:

Lenke til kommentar
Gjest Slettet+6132
Takker for svar!

 

Axentrix (og ex0n), la oss si at safemode er off. Da er det alternativ 1 som gjelder.

Som sagt er mine linuxkunnskaper ganske stusselige...

Er webserveruseren den samme som den som står foran public_html i /home/webserveruser/public_html/ ?

 

Hvis ja, hvordan får jeg serveren til å forstå at php-scriptet som kjøres eies av webserveruser? Er dette noe jeg eventuelt kan gjøre i php-filen som kjører scriptet (Noe ala den måten man sender brukernavn og passord når man kobler seg opp mot MySQL-basen)?

 

Eller er jeg helt på bærtur nå? :blush:

Jeg tror ikke du er på bærtur en gang. Bæra passerte du for noen timer siden :!:

 

Altså, webserveren kjører filene bare som den brukeren som er satt i httpd.conf (vanligvis "apache" eller "httpd"), så hvem som eier filen har ikke noe å si egentlig, bare webserveren klarer lese den.

Lenke til kommentar
Jeg tror ikke du er på bærtur en gang. Bæra passerte du for noen timer siden :!:

 

Altså, webserveren kjører filene bare som den brukeren som er satt i httpd.conf (vanligvis "apache" eller "httpd"), så hvem som eier filen har ikke noe å si egentlig, bare webserveren klarer lese den.

Ikke bare har jeg gått forbi bærene, jeg tror jeg trenger noe mindre enn en teskje for å fatte dette også... (dobbelt :blush:)

 

La oss si at du eier domene.no, og leier serverplass hos en som har satt safemode til off. Du vil bruke mitt enkle lille system. Hva må jeg gjøre med publiseringssystemet mitt før jeg zipper det og sender deg det for at du ikke skal få permission denied når du begynner å spytte ut filer på din leide server?

 

Det er det jeg ikke forstår...

 

Sukk...

 

(Med tanke på hvor lite jeg forstår akkurat nå lurte jeg litt på om jeg skulle bli jordbærplukker i stedet for å skrive kode i php, men så fant jeg aldri åkeren...)

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å
×
×
  • Opprett ny...