[php] permissies van directory

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Ik heb een script dat bij een upload alles in de dir met datum van de week opslaat. Dan krijg ik dus voor vandaag een directory met naam 20031110.

Als ik dan me file daar heen wil zetten, kan dat niet, omdat er een SAFE MORE error optreed. Ik zet de persmissies al goed met chmod(..., 0777); maar nog die error

Het vreemde is, dat als ik met mijn ftp programma de directory aanmaak en permissies goed zet, het wel werkt.

Ik heb gekeken en de directory wordt gemaakt door mijn script en de permissies staan goed.

Hoe kan dit?

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
PHP safe mode is een instelling in PHP.ini. Dat beperkt je mogelijkheden in ruil voor een veiliger systeem.

Acties:
  • 0 Henk 'm!

  • T-Blizzard
  • Registratie: Juni 2001
  • Laatst online: 15:57
Maybe wel handig als je dat stuk betreffende code ff hier neerzet :)

Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
djluc schreef op 10 november 2003 @ 23:39:
PHP safe mode is een instelling in PHP.ini. Dat beperkt je mogelijkheden in ruil voor een veiliger systeem.
Ja, idd, dat snap ik, maar waarom kan het wel als ik de dir zelf maak en niet als de dir door mijn script wordt gemaakt...

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

  • KompjoeFriek
  • Registratie: Maart 2001
  • Laatst online: 15-08 22:46

KompjoeFriek

Statsidioot

let ook op de rechten van je apache-gebruiker (standaard www-data)

WhatPulse! - Rosetta@Home - Docking@Home


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 16:51
Parcye schreef op 10 november 2003 @ 23:41:
[...]


Ja, idd, dat snap ik, maar waarom kan het wel als ik de dir zelf maak en niet als de dir door mijn script wordt gemaakt...
Omdat je dan geen PHP uitvoert, je CHMOD actie is niet goedgekeurd door de safemode controle. Misschien mag je gewoon geen 777 rechten geven in safe mode?

Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
PHP:
1
2
3
4
5
6
mkdir(date("Ymd", mktime()));
// directory gemaakt, rechten nog niet goed
chmod(date("Ymd", mktime()), 077);
// directory gemaakt en rechten op 777 volgens ws-ftp
move_uploaded_file($uploadbestand, date("Ymd", mktime())."/test.txt");
// kan niet door save mode


Als ik de eerste 2 stappen in ws-ftp doe, dan gaat het wel goed...

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

  • bgever
  • Registratie: April 2002
  • Laatst online: 28-05-2021
Je chmod niet goed. Het is 0777 of 777, maar niet 077. Dan heeft je user namelijk rechten 0! Bekijk voor de lol eens deze pagina.
Zo hoort het te zijn:
PHP:
1
2
3
4
5
6
mkdir(date("Ymd", mktime()));
// directory gemaakt, rechten nog niet goed
chmod(date("Ymd", mktime()), 0777);
// directory gemaakt en rechten op 777 volgens ws-ftp
move_uploaded_file($uploadbestand, date("Ymd", mktime())."/test.txt");
// kan niet door save mode

[ Voor 6% gewijzigd door bgever op 10-11-2003 23:56 ]


Acties:
  • 0 Henk 'm!

  • Yo-han
  • Registratie: December 2001
  • Laatst online: 18-08 20:16

Yo-han

nope.

Je chmod moet 777 zijn en niet 077

edit:
Laaaaaaat :(

[ Voor 33% gewijzigd door Yo-han op 10-11-2003 23:57 ]


Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Ook met 777 krijg ik

Warning: SAFE MODE Restriction in effect. The script whose uid is 4311 is not allowed to access /home/virtual/site15/fst/var/www/html/foto/training/20031111 owned by uid 48

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
In /etc staat php.ini, en bij php.ini staat safe mode staat off...

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

Verwijderd

Parcye schreef op 11 november 2003 @ 00:01:
Ook met 777 krijg ik

Warning: SAFE MODE Restriction in effect. The script whose uid is 4311 is not allowed to access /home/virtual/site15/fst/var/www/html/foto/training/20031111 owned by uid 48
Even voor de duidelijk:

Dus als je met ftp die directory aanmaakt en de rechten goedzet, dan kun je met php gewoon alles in die directory doen?

Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Juist

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

  • Parcye
  • Registratie: Maart 2001
  • Laatst online: 24-08-2017
Opgelost, het probleem zat wel in SAFE MODE, lokaal stond deze aan, wat via een paar trucjes op de server uit te zetten was, bedankt voor de hulp

"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002


Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Safe mode kijkt niet naar de permissies (alles voor alle gebruikers in dit geval), maar naar de owner. Dat is ook duidelijk te zien in de foutmelding die je krijgt. De owner moet dezelfde zijn als die van je PHP bestand, niet van de user waaronder apache draait. Safe mode uitzetten is één oplossing, maar bij meerdere gebruikers zou ik dit toch aan laten staan en naar de owners kijken.
Pagina: 1