[PHP] Permission denied bij bestandsbeheer

Pagina: 1
Acties:

Onderwerpen


  • Richh
  • Registratie: Augustus 2009
  • Laatst online: 07:48
Hi Tweakers,

Ik ben nu al twee dagen aan het knutselen aan een website voor m'n oom. Het idee is dat daar een foto uploader in moet komen. Nou heb ik vorig jaar voor school een scriptje daarvoor gebouwd, dus die ging ik erin bouwen. Echter werkt dat script niet. Via een virtuele USBWebserver werkt het overigens wel allemaal.

Het probleem is dat ik niks met de files op de server mag doen. mkdir(), rmdir(), en dat soort functies komen uit in een permission denied.

Ik heb net als in dit topic de volgende code geprobeerd.
PHP:
1
2
3
4
5
1. mkdir($map);
2. mkdir($map, 0777);
3. mkdir($map, 0777, true);
4. mkdir($map);
   chmod($map, 0777);


PHP:
1
2
3
4
5
Warning: mkdir() [function.mkdir]: Permission denied in /home/[username]/cms/projecten.php on line 19
Warning: mkdir() [function.mkdir]: Permission denied in /home/[username]/cms/projecten.php on line 20
Warning: mkdir() [function.mkdir]: Permission denied in /home/[username]/cms/projecten.php on line 21
Warning: mkdir() [function.mkdir]: Permission denied in /home/[username]/cms/projecten.php on line 22
Warning: chmod() [function.chmod]: No such file or directory in /home/[username]/cms/projecten.php on line 23


Permission denied dus. Heeft volgens mij te maken met rechten, maar ik heb geen idee wat ik er mee aan moet. Ben ook een behoorlijke noob op dat gebied :P

Mijn hoster Versio gebruikt het DirectAdmin controlpanel en hierop kan je ook de permissions wijzigen. Het staat nu allemaal op 755, maar ook op 777 werkt het niet en krijg ik exact dezelfde errors.

Kan iemand mij uitleggen wat er nou precies fout gaat en bovenal: hoe ik dit op kan lossen? Die persoon zal mijn dag weer goed maken :)

PS: ik weet dat je ook een folder kan maken met ftp_mkdir() en dat werkt ook bij mij. Het probleem is dat ik ook andere functies gebruik die zoals ze nu zijn de files moeten kunnen aanpassen. Dat is dus geen oplossing, en sowieso wil ik gewoon weten hoe het zit :P

☀️ 4500wp zuid | 🔋MT Venus 5kW | 🚗 Tesla Model 3 SR+ 2020 | ❄️ Daikin 3MXM 4kW


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Je hebt geen rechten op de map waarin je die map wil aanmaken.

Verder: Waar hoort mijn topic?
SEA>>PRG

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Richh
  • Registratie: Augustus 2009
  • Laatst online: 07:48
Excuses, bedankt voor het verplaatsen :)

Ik begrijp dat ik geen rechten heb, maar hoe kan ik ervoor zorgen dat ik die rechten wél krijg?

☀️ 4500wp zuid | 🔋MT Venus 5kW | 🚗 Tesla Model 3 SR+ 2020 | ❄️ Daikin 3MXM 4kW


  • we_are_borg
  • Registratie: September 2000
  • Laatst online: 30-11 16:02

we_are_borg

You will Comply

Kijk eerst naar de map waarin je wilt gaan schrijven dat die in ieder geval genoeg rechten heeft met 0777 heb je altijd genoeg.

You need the computing power of a P1, 16 MB RAM and 1 GB Harddisk to run Win95. It took the computing power of 3 Commodore 64 to fly to the Moon. Something is wrong here, and it wasn't the Apollo.


  • curvemod
  • Registratie: Maart 2009
  • Laatst online: 02-12 14:31
Dat moet je dan via de commandline even checken

-Rechten naar 0777 zetten (chmod -R 777 mapnaam)
-Heeft je webserver user / groep wel rechten op die map? Je moet bijvoorbeeld met je www-data user rechten hebben op 'mapnaam' (chown -R www-data:www-data mapnaam).

PS wees voorzichtig met alles 777 te maken, probeer dit op zo min mogelijk mappen te zetten en het liefst (waar mogelijk) minder rechten.

[ Voor 20% gewijzigd door curvemod op 29-08-2012 16:23 ]


  • Richh
  • Registratie: Augustus 2009
  • Laatst online: 07:48
Ik snap er nu helemaal niks meer van. Ik heb dat meerdere malen geprobeerd (dacht ik): de permissions op 777 zetten. En kreeg toen dezelfde errors. Het DirectAdmin scherm zag er dan zo uit, maar als ik 'm vernieuwde ging het weer terug naar 755.

Afbeeldingslocatie: http://i45.tinypic.com/3486ntw.jpg

Nu werkt het wel, 777 blijft ook staan, foto upload script doet het ook nog helemaal. Shame on me |:(

In ieder geval bedankt voor jullie hulp!

☀️ 4500wp zuid | 🔋MT Venus 5kW | 🚗 Tesla Model 3 SR+ 2020 | ❄️ Daikin 3MXM 4kW


  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
777 op een map waarin files komen die door een gebruiker worden geupload is iets wat je op een live omgeving eigenlijk niet zou moeten willen ;)

Driving a cadillac in a fool's parade.


  • Richh
  • Registratie: Augustus 2009
  • Laatst online: 07:48
Waar zou ik het dan in moeten veranderen?

☀️ 4500wp zuid | 🔋MT Venus 5kW | 🚗 Tesla Model 3 SR+ 2020 | ❄️ Daikin 3MXM 4kW


  • Joostje123
  • Registratie: September 2010
  • Laatst online: 15:32
Met 777 geef je 3 verschillende gebruikers groepen alle rechten tot de map.
De eerste 7 ben jij als user, de 2de 7 is de groep waar jij tot onder valt, en de 3de 7 is voor iedereen.

Dan de 7staat voor dat je alles mag doen met de map namelijk (excuteren = 1, schrijven = 2, lezen = 4)
Bij elkaar dus 7.

Maar misschien moet je je eens inlezen in CHmod want die vraag betekend eignelijk dat je het niet begrijpt wat het betekend, en heb ik je nu al teveel geholpen.

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Als je met chmod de rechten op 777 zet betekend dat gewoon de eigenaar op de map niet de juiste is waardoor iets niet werkt. chmod 755 op de map en stel met chown de juiste eigenaar in. ;)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Die execute-rechten zijn anders vaak vervelender dan schrijfrechten in dit soort folders. 644 zou in de meeste gevallen moeten voldoen. Groep goed instellen helpt niks trouwens, want lekken worden veelal geëxploiteerd via dezelfde user die dan rechten zou hebben op die map, namelijk de Apache-user.

De rechten instellen op 666, of je owner goed instellen en 644 gebruiken zou voldoende moeten zijn voor een simpel uploaddingetje.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17:50

Janoz

Moderator Devschuur®

!litemod

Folders zonder execute rechten lijken me anders knap lastig ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1