Rechten script niet voldoende
onder de directory "music" heb ik meerdere directories met MP3 bestanden.
Deze zijn naar de server ge-FTP-t.
De owner is "prod" en mod staat op 755.
Nu roep ik vanuit mijn CMS een PHP script aan die een file in een directory wil schrijven/aanmaken. Dat lukt niet en ik krijg de foutmelding:
fopen(../../media/music/Artiest-Album-Directory/commercials.xml) [function.fopen]: failed to open stream: Permission denied in ....
Wanneer ik de mod op 777 zet via mijn ftp programma kan de file wel geschreven worden. De owner is dan apache. Daarmee is het duidelijk waarom het bestand in eerste instantie niet geschreven kon worden. User "apache" mag niet in de directory met de owner "prod' schrijven.
Ik heb al geprobeerd een chown of chmod vanuit het script te doen. Dat kan om dezelfde reden niet. Het script wordt op de server als "apache" user uitgevoerd.
Het is natuurlijk mogelijk om dit met de hand te doen. Dat is niet de bedoeling omdat het door iemand moet worden gedaan die weinig verstand van deze materie heeft.
Ik kan geen oplossing bedenken om dit toch voor elkaar te krijgen.
Hebben jullie een tip hoe dit wel te realiseren is?
Toevoeging op 25/03/2012 20:10:04:
Hmm, het blijkt dat ik ook niet bestanden kan uploaden via het CMS.
Daar geldt natuurlijk hetzelfde voor.
Het CMS probeert een upload.php script uit te voeren. Als "apache" dus. En de owner is "prod".
Of de rechten van de map op 775 zetten.
Gewijzigd op 25/03/2012 22:31:06 door - SanThe -
De owner krijg ik dus niet aangepast.
Ik kan wel de rechten op de map met het FTP programma aanpassen. Als er echter een nieuwe map wordt geupload met FTP, moet dat weer gebeuren. Dat is niet handig voor een gebruiker.
mkdir, dan kun je via chmod de rechten aanpassen. Of je kunt één keer per dag (of vaker) een script uitvoeren die de directory's uitleest via readdir en vervolgens de (nieuwe) mappen de 775 rechten geeft via chmod.
De map wordt aangemaakt via FTP? Als je dit doet via PHP dmv Gewijzigd op 26/03/2012 08:52:10 door B a s
Daarna wil ik via een php script een bestand wegschrijven in die map.
Ik heb geen ssh toegang op de server. En kan ook geen cronjobs uitvoeren.
De rechten moeten overigens op 777 worden gezet, wil ik uberhaupt iets kunnen wegschrijven.
Waarom maak je de directory aan via FTP en niet via je PHP bestand. Je zult dan geen problemen hebben lijkt mij.
Ik zou 'm eerst de map kunnen laten aanmaken in het CMS, dan staan de rechten goed.
Dan zou ik hem ook het kunstje van het aanpassen van de rechten kunnen aanleren.
Opgelost.