Bekijk Volledige Versie : Apache is de beheerder van mappen en bestanden
Hey mensen,
Ik zit met een probleem.
Als ik bestanden aanmaak, of mappen met PHP, dan zijn de GID en UID niet mijn gebruikersnaam maar 'apache'
Als ik dit doe:
mkdir ( "test" );
Dan zijn de GID en UID apache.
Ik heb van mijn serverbeheerder SSH gekregen, dus ik dacht ik pas automaitch chown erop aan
exec ( "mkdir test", $ouput );
exec ( "chown -R emich test", $output );
print_r ( $output );
ik krijg dan Array ( ), en meer niet.
De map wordt wel aangemaakt, maar apache blijft de owner van het bestand.
Weet iemand hoe ik dit moet oplossen?
Als ik een bestand wil uploaden via PHP wordt hij ook meteen beheerd door apache.
Valt dit in te stellen voor de serveradmin dat dit niet gebeurd?
Groeten,
Paul
Apache is je webserver en die draait hoogstwaarschijnlijk onder de account Apache in de groep Apache, vandaar dat apache de eigenaar is.
Om jezelf eigenaar te maken kun je kijken of het lukt om met je eigen account via SSH in te loggen en op die manier chown toe te passen.
Apache is je webserver en die draait hoogstwaarschijnlijk onder de account Apache in de groep Apache, vandaar dat apache de eigenaar is.
Om jezelf eigenaar te maken kun je kijken of het lukt om met je eigen account via SSH in te loggen en op die manier chown toe te passen.
Je bedoeld dus via ssh2_connect en degelijke?
Want dat ondersteund de server niet :(
Volgens mij kun je apache alleen met root overschrijven?
Anders zou het
chown -R emich.emich test
moeten zijn?
Je bedoeld dus via ssh2_connect en degelijke?
Want dat ondersteund de server niet :(
Eigenlijk bedoel ik gewoon via een SSH client zodat je dus in "je eigen stukje van de server" komt. Als je niet weet wat je daar mee moet doen raad ik je aan het ook niet te proberen.
Waarom wil je eigenlijk dat jíj de eigenaar wordt?
Volgens mij kun je apache alleen met root overschrijven?
Anders zou het
chown -R emich.emich test
moeten zijn?
Dit werkt uiteraard niet als er geen emich account op de server bestaat.
Edit: wat ik me nu af begin te vragen is of het ook mogelijk is om door middel van shell commands naar een andere gebruiker zijn of haar map te gaan (cd ../../../sjonnie bijv., ik noem maar wat) en daar dan bestanden waar apache eigenaar van is te wijzigen... of denk ik nou krom?
Eigenlijk bedoel ik gewoon via een SSH client zodat je dus in "je eigen stukje van de server" komt. Als je niet weet wat je daar mee moet doen raad ik je aan het ook niet te proberen.
Ik weet wel wat ik daarmee moet doen hoor ;)
Waarom wil je eigenlijk dat jíj de eigenaar wordt?
Omdat het altijd nog MIJN bestanden zijn :)
Ik kan er niks mee als ze onder apache vallen. Niks in uploaden, geen rechten aanpassen, geen mappen in maken, niks :S
Het probleem is, wat het om veel mappen gaan, die liever allemaal geautomatiseerd aangepast worden.
Het is voor een foto album die ingedeeld wordt in mappen, zodat het overzicht wat beter wordt in plaats alles in 1 map te stoppen.
Wanneer er een album wordt aangemaakt, moet er ook een map worden aangemaakt voor dat album, waar alle foto's in komen.
Ik heb ook geen zin om elke keer dan weer in te loggen met putty, en alles aan te passen..
Paul
slipperman
15/02/07, 20:32
mkdir ("test");
chmod("test", 0777);
Dit werkt wel ;)
Ik weet wel wat ik daarmee moet doen hoor ;)
Omdat het altijd nog MIJN bestanden zijn :)
Ik kan er niks mee als ze onder apache vallen. Niks in uploaden, geen rechten aanpassen, geen mappen in maken, niks :S
Het probleem is, wat het om veel mappen gaan, die liever allemaal geautomatiseerd aangepast worden.
Het is voor een foto album die ingedeeld wordt in mappen, zodat het overzicht wat beter wordt in plaats alles in 1 map te stoppen.
Wanneer er een album wordt aangemaakt, moet er ook een map worden aangemaakt voor dat album, waar alle foto's in komen.
Ik heb ook geen zin om elke keer dan weer in te loggen met putty, en alles aan te passen..
Paul
Aangezien je ook via FTP niets met die bestanden kunt lijkt het mij een verkeerd geconfigureerde server. De map (jouw root dus) moet door jouw account "geownt" worden. Even contact opnemen met de host lijkt mij het verstandigst...
Chmod 777 doet ook wonderen overigens bedenk ik me nu :)
Edit: Ik was te traag met m'n verhaaltje dus nu staat er twee keer chmod 777, denk dat dat dan wel werken gaat!
mkdir ("test");
chmod("test", 0777);
Dit werkt wel ;)Hehehe, geweldig! :P
Jammer dat de mappen nog wel onder apache vallen :(
Hehehe, geweldig! :P
Jammer dat de mappen nog wel onder apache vallen :(
En wat is daar het probleem mee?
Je kan er alles mee op dat moment.
En wat is daar het probleem mee?
Je kan er alles mee op dat moment.Dat wel, maar onder emich staat het wel vetter :P
Maar dit kan ik natuurlijk altijd handmatig later een keer proberen.
Iig bedankt, want het belangrijkste is nu gebeurd! :)
Merk op dat door je bestanden 777 te zetten, iedereen op de server de bestanden kan lezen en overschrijven. Niet zo'n goed idee dus.
Aan de basis ligt het probleem dat de webserver zijn php-processen uitvoert als de webserver-gebruiker, en niet de gebruiker van de bestanden zelf. Slecht geconfigureerde server dus.
mja, slecht geconfigureerd zou ik het niet willen noemen. het kan anders, het is een keuze, zeker geen recht. ik zou (om bovengenoemde redenen) nooit anders willen dan scripts laten draaien onder de eigen user, maar dat kost dus gewoon meer. het is de keuze die je maakt, heb je dit nodig dan moet je naar een andere host of server configuratie.
Misschien kan je mbv. cronjobs (die dan wel onder eigen gebruiker draaien?) een php-file aanroepen zodat die onder eigen user gedraaid wordt, en daarin de mappen maken.