[PHP] Kan bestand niet openen ondanks 0777 (chown probleem)

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een php-script welke bestanden ontvangt via email (bijlages), dit script wordt door de php CLI uitgevoerd waarbij de bestanden worden opgeslagen. Dit script draait niet in safe mode.

Vervolgens wil ik deze bestanden kunnen lezen via een website die wel in safe mode draait. Het script heeft bij het opslaan de opgeslagen bestandenen mappen waarin deze zich bevinden ge-chmod naar 0777 en chwon gedaan met userid van het proces waarmee ik de bestanden uitlees (apache denk ik is dat). Daar zit blijkbaar het probleem, want chown werkt niet met als gevolg dat ik geen rechten heb om ze te lezen. Dit ondanks de 0777 aangezien in safe mode naar de userid's van de bestanden wordt gekeken die nu niet overeenkomen.

Iemand een oplossing om chown wel te kunnen draaien in CLI of zo? Ik kom er niet meer uit...

Acties:
  • 0 Henk 'm!

  • jan-marten
  • Registratie: September 2000
  • Laatst online: 20-09 15:31
Al eens gekeken naar de open_basedir setting? Kan zijn dat die is ingesteld.

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 18:07
Het eerste script ook via de webserver laten draaien? Dan slaat apache de files op en hebben ze automatisch de goede eigenaar.

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Er is ook een soort 'relax' mode voor files en dirs : safe_mode_gid

Als je die uitzet ben je de meeste problemen vaak al kwijt. Mits je daarvoor de rechten hebt natuurlijk.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@jan-marten: stom dat ik er niet aan gedacht heb, zal eens kijken of het dan wel lukt :)

@rutgerw, denk dat dat wat lastig gaat worden hoewel het de oplossing zo zijn. Het is echter een pipe en ik zou niet weten hoe ik dat door de webserver zou moeten laten uitvoeren. Misschien ook zelfs ongewenst om de webserver te belasten hiermee.

@Cartman!, nooit van gehoord maar ik zal er even naar kijken

Het is overigens een server die ik volledig kan beheren dus alles zou mogelijk moeten zijn, echter draaien er een aantal shared websites op dus ik kan safe_mode niet zomaar uitzetten en zo.

edit
open_basedir had ik waarschijnlijk toch aan gedacht want dat stond al ingesteld, werkt toch niet. safe_mode_gid zal het gaan oplossen zo te lezen.... hoewel het toch niet blijkt te werken (heb het alleen op dat domein zo ingesteld maar dat mag niet uitmaken denk ik).

Dit is de precieze foutmelding overigens bij openen van bestand:
code:
1
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid/gid is 10007/2524 is not allowed to access /var/www/vhosts/domein.nl/httpdocs/~ticketsupport/attachments/486/anjunabeats.jpg owned by uid/gid 110/31 in /var/www/vhosts/domein.nl/httpdocs/shop/admin/getfile.php on line 22

[ Voor 37% gewijzigd door Verwijderd op 25-07-2008 10:18 ]


Acties:
  • 0 Henk 'm!

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 14:59
Verwijderd schreef op vrijdag 25 juli 2008 @ 10:04:

Het is overigens een server die ik volledig kan beheren dus alles zou mogelijk moeten zijn, echter draaien er een aantal shared websites op dus ik kan safe_mode niet zomaar uitzetten en zo.
Als je de server zelf kan beheren kan je ook voor alleen die ene website de safemode uitschakelen.

LinkedIn - Collega worden?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Evilbee schreef op vrijdag 25 juli 2008 @ 11:55:
[...]


Als je de server zelf kan beheren kan je ook voor alleen die ene website de safemode uitschakelen.
Eh ja, mijn hoofd werkt duidelijk een stuk minder met dit weer. Bedankt :)

Acties:
  • 0 Henk 'm!

  • The Van
  • Registratie: Maart 2006
  • Laatst online: 09-02-2023
Dit is de precieze foutmelding overigens bij openen van bestand:
code:
1
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid/gid is 10007/2524 is not allowed to access /var/www/vhosts/domein.nl/httpdocs/~ticketsupport/attachments/486/anjunabeats.jpg owned by uid/gid 110/31 in /var/www/vhosts/domein.nl/httpdocs/shop/admin/getfile.php on line 22
Toch duidelijk een chown fout... Doe je dat wel recursief? (chown -R) Jouw process heeft uid 10007, het attachment (nog steeds?) uid 110

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
The Van schreef op vrijdag 25 juli 2008 @ 12:23:
[...]

Toch duidelijk een chown fout... Doe je dat wel recursief? (chown -R) Jouw process heeft uid 10007, het attachment (nog steeds?) uid 110
Ja ik doe het recursief, zij het in een loop aangezien ik php gebruik met chown(). Probleem is denk ik dat chown() in php alleen door root uitgevoerd kan worden en chown() daarom in CLI helemaal niet werkt (of beter gezegd niet in mijn geval waar ik een pipe heb, dan is het root niet die de CLI draait).
Pagina: 1