Hoofdcategorieën
Topicacties

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

Pagina: 1

Reageer Nieuw Topic
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...
Al eens gekeken naar de open_basedir setting? Kan zijn dat die is ingesteld.

Copyrights 2000-2008 © Jan Marten

Berichten: 234
Reg. datum: 18 juni 2004

Het eerste script ook via de webserver laten draaien? Dan slaat apache de files op en hebben ze automatisch de goede eigenaar.

"If you see a whole thing - it seems that it's always beautiful. Planets, lives... But up close a world's all dirt and rocks. And day to day, life's a hard job, you get tired, you lose the pattern." Ursula K. Le Guin

nBrew
Berichten: 9.297
Reg. datum: 24 april 2000

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.
 
@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

HereIam wijzigde dit bericht 25-07-2008 10:18 (37%)

quote:
HereIam 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.
quote:
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 :)
Berichten: 21
Reg. datum: 03 maart 2006

quote:
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
 
quote:
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



VNU Media logo Powered by True

© 1998 - 2008 Tweakers.net - Alle rechten voorbehouden

Uitgever van: