chmod vraagje
Pagina: « vorige 1 2 3 volgende »
Ja... als het niet anders kan dan wordt het gewoon onderdeel van de installatie, maar het is handiger als ik dit gewoon via de code kan regelen. Ben daarom ook erg benieuwd naar het antwoord van Phoenix Bird.
Code (php)
<form action="install.php" method="post" name="chmod" id="chmod">
<input type="submit" name="submit" id="submit" value="Verzenden" >
</form>
Om een bestand of map te chmodden via php moet je altijdt een absoluut pad gebruiken naar de te chmodden bestanden/mappen.
Apache is zover ik weet automatisch de eigenaar van de bestanden in de webroot, en is gewoon op deze manier te wijzigen.
Als je niet in de mogelijkheid bent om het bovenstaande uit te testen, stuur dan even een pm.
Phoenix Bird op 14/09/2011 13:25:23:
Apache is zover ik weet automatisch de eigenaar van de bestanden in de webroot, en is gewoon op deze manier te wijzigen.
Dit werkt niet. Getest. De owner is de (ftp)user en dus heeft Apache niet de rechten om een chmod te doen.
Gewijzigd op 14/09/2011 13:43:37 door - SanThe -
@San The, ik heb je even een pm gestuurd met een link naar dit bestand.
Phoenix Bird op 14/09/2011 13:49:36:
@San The, ik heb je even een pm gestuurd met een link naar dit bestand.
Dat schijnt te werken. Maar wie is daar de owner van de bestanden, dat is waarschijnlijk Apache en NIET de (ftp)user. En Ozzy geeft aan dat hijzelf de owner is.
Phoenix Bird op 14/09/2011 14:05:35:
de ftp user is hier de eigenaar, al kan dit op sommige servers wel problemen opleveren.
Is dit bij een hosting? Bij sommige hostings draait Apache namelijk niet onder 'owner apache' maar onder 'owner user'. En in dat geval werkt alles gewoon. En weer andere hostings zorgen ervoor dat alles in de webroot 'owner Apache' is en ook dan zal het werken.
Overigens chmod je in de bovenstaande code naar 0755, maar dat klopt toch niet? Volgens mij heeft iedere map standaard al 0755 (zie mijn 1e bericht in dit topic).
- SanThe - op 14/09/2011 14:13:55:
Bij sommige hostings draait Apache namelijk niet onder 'owner apache' maar onder 'owner user'. En in dat geval werkt alles gewoon. En weer andere hostings zorgen ervoor dat alles in de webroot 'owner Apache' is en ook dan zal het werken.
Als Apache onder 'user Apache' (of iets vergelijkbaars afhankelijk van de diverse linuxen) draait en de bestanden en mappen zijn 'owner user', dan gaat het niet lukken. Als iemand denkt dat ik het mis heb dan hoor ik dat zeer graag.
Toevoeging op 14/09/2011 14:33:56:
Ozzie PHP op 14/09/2011 14:27:36:
Overigens chmod je in de bovenstaande code naar 0755, maar dat klopt toch niet? Volgens mij heeft iedere map standaard al 0755 (zie mijn 1e bericht in dit topic).
Als Apache de owner is van die map is dat voldoende.
Weet jij toevallig het antwoord op mijn 0755 vraag?
Quote:
Als Apache onder 'user Apache' (of iets vergelijkbaars afhankelijk van de diverse linuxen) draait en de bestanden en mappen zijn 'owner user', dan gaat het niet lukken. Als iemand denkt dat ik het mis heb dan hoor ik dat zeer graag.
Ja, dit klopt.
@Ozzie, dat had ik gewoon als voorbeeldje gebruikt, je kan er naar alle mogelijke chmod codes mee chmodden.
Toevoeging op 14/09/2011 14:44:52:
- SanThe - op 14/09/2011 14:32:38:
Als Apache de owner is van die map is dat voldoende.
En als Apache geen owner is maar wel tot de group behoort is 775 voldoende. In het ergste geval (komt eigenlijk nooit voor) is Apache geen owner en hoort ook niet bij de group, dan moet het 777 zijn.
Het enige wat dan overblijft ik de MKDIR optie. Zou het toch niet kunnen dat dit werkt... ik zit nu te bedenken... SanThe, jij zei dat Apache de chmod uitvoert. Dat zou dan ook betekenen dat Apache de MKDIR uitvoert? Als ik dan een "upload" map aanmaak met MKDIR zou het dan toch niet lukken? Je zou dan zeggen dat Apache de eigenaar van die map wordt omdat Apache de map aanmaakt. Als Apache de eigenaar wordt (en ik neem aan dan ook eigenaar van de groep) dan zou je denken dat ik vervolgens met chmod de rechten kan aanpassen. Of praat ik nu onzin?
Ozzie PHP op 14/09/2011 14:59:47:
at zou dan ook betekenen dat Apache de MKDIR uitvoert? Als ik dan een "upload" map aanmaak met MKDIR zou het dan toch niet lukken? Je zou dan zeggen dat Apache de eigenaar van die map wordt omdat Apache de map aanmaakt. Als Apache de eigenaar wordt (en ik neem aan dan ook eigenaar van de groep) dan zou je denken dat ik vervolgens met chmod de rechten kan aanpassen.
Klopt (bijna). De map die aangemaakt moet worden wordt in een (hogere) map geplaatst. En de vraag is dan: Heeft Apache dáár schrijfrechten? Waarschijnlijk niet als jij overal owner van bent.
(en ik neem aan dan ook eigenaar van de groep)
Je wordt geen eigenaar van een group, maar lid.
Gewijzigd op 14/09/2011 15:11:46 door - SanThe -
Alles bij elkaar opgeteld is dan dus de conclusie dat zowel chmod als mkdir niet zullen werken. Enige optie die dan overblijft is handmatig via een ftp programma de rechten van die map aanpassen? Dat zou wel erg kansloos zijn als dat de enige manier is... maar het lijkt er wel op. Of hebben jullie (SanThe, Phoenix) nog een ander idee?
Gewijzigd op 14/09/2011 17:09:21 door Ger van Steenderen
Dankjewel Ger voor je reactie. Zou je wellicht iets specifieker kunnen zijn? Op welke manier zou dit mijn probleem kunnen oplossen?
Dus kun je een script laten dienen als een ftp client, daarmee heb je dus dezelfde rechten als met bv FileZilla.
- SanThe - op 14/09/2011 14:32:38:
Als Apache de owner is van die map is dat voldoende.
Ozzie PHP op 14/09/2011 14:27:36:
Overigens chmod je in de bovenstaande code naar 0755, maar dat klopt toch niet? Volgens mij heeft iedere map standaard al 0755 (zie mijn 1e bericht in dit topic).
Als Apache de owner is van die map is dat voldoende.
Bij mij zal ik zelf de owner van de "upload" map zijn (en niet Apache). Wat moeten dan de rechten worden?
- SanThe - op 14/09/2011 14:40:49:
En als Apache geen owner is maar wel tot de group behoort is 775 voldoende. In het ergste geval (komt eigenlijk nooit voor) is Apache geen owner en hoort ook niet bij de group, dan moet het 777 zijn.
- SanThe - op 14/09/2011 14:32:38:
Als Apache de owner is van die map is dat voldoende.
En als Apache geen owner is maar wel tot de group behoort is 775 voldoende. In het ergste geval (komt eigenlijk nooit voor) is Apache geen owner en hoort ook niet bij de group, dan moet het 777 zijn.