Rechten script niet voldoende

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ron Kraaijkamp

Ron Kraaijkamp

25/03/2012 19:58:50
Quote Anchor link
Het volgende is het geval:
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".
 
PHP hulp

PHP hulp

27/04/2024 19:29:56
 
- SanThe -

- SanThe -

25/03/2012 22:22:25
Quote Anchor link
Maak de map dus owner Apache.
Of de rechten van de map op 775 zetten.
Gewijzigd op 25/03/2012 22:31:06 door - SanThe -
 
Ron Kraaijkamp

Ron Kraaijkamp

26/03/2012 08:20:44
Quote Anchor link
Ja SanThe, dat zou mooi zijn. De server is niet in mijn beheer.
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.
 
B a s
Beheerder

B a s

26/03/2012 08:51:56
Quote Anchor link
De map wordt aangemaakt via FTP? Als je dit doet via PHP dmv 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.
Gewijzigd op 26/03/2012 08:52:10 door B a s
 
Ron Kraaijkamp

Ron Kraaijkamp

26/03/2012 09:09:48
Quote Anchor link
Ja Bas, de map wordt aangemaakt met FTP. De owner is dan "prod".

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.
 
B a s
Beheerder

B a s

26/03/2012 09:35:08
Quote Anchor link
Waarom maak je de directory aan via FTP en niet via je PHP bestand. Je zult dan geen problemen hebben lijkt mij.
 
Ron Kraaijkamp

Ron Kraaijkamp

26/03/2012 10:07:13
Quote Anchor link
De gebruiker gebruikt nu FTP om volledige directories te kopieeren naar een directory "media". En dat gaat om directories met muziek. Dus vrij grote bestanden. Die kan je niet altijd via je browser uploaden door maximale grootte die de provider heeft bepaald.

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.
 
Ron Kraaijkamp

Ron Kraaijkamp

04/04/2012 14:46:33
Quote Anchor link
Ik heb het op kunnen lossen door vanuit het php script een verbinding te maken naar de server via ftp en met ftp_chmod de rechten aan te passen. File te dumpen en rechten weer terug te zetten. Dit gebeurt maar een maal per directory is zo gebeurt.

Opgelost.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.