[PHP] CHMOD Operation not permitted

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Beetje vreemd maar goed ik kan wel in een bestand schrijven als ik hem via de ftp chmod naar 777, wil ik counter.php zelf het bestandje counter.txt chmod("counter.txt" 0777);

Dan krijg ik dit:

Warning: chmod(): Operation not permitted in /home/virtual/site14/fst/var/www/html/modules/counter/counter.php on line 18

Aantal bezoekers: 52


Maar hij kan er daarna wel inschrijven. Dan heb ik hem dus wel via de ftp gechmod terwijl ik php dit zelf wil laten doen.

Acties:
  • 0 Henk 'm!

Verwijderd

Onder welke user draait je php ? Is dat hetzelfde userid als waar jij chmod via ftp ?
Lijkt erop dat je php onder een ander userid draait.

Acties:
  • 0 Henk 'm!

  • Cloud
  • Registratie: November 2001
  • Laatst online: 17-09 10:39

Cloud

FP ProMod

Ex-moderatie mobster

Volgens mij heeft PHP zoiets als een SafeMode, waarin je de PHP server geen rechten geeft om write commando's te doen op het bestandssysteem, en ook geen rechten geeft om dit soort programma's op te starten. Staat default op ON geloof ik :)

NB.: Bij sommige providers staat dit dus aan, en moet je dus op andere manieren een counter schrijven ..

[ Voor 21% gewijzigd door Cloud op 03-05-2004 15:14 ]

Never attribute to malice that which can be adequately explained by stupidity. - Robert J. Hanlon
60% of the time, it works all the time. - Brian Fantana


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 03 mei 2004 @ 15:09:
Onder welke user draait je php ? Is dat hetzelfde userid als waar jij chmod via ftp ?
Lijkt erop dat je php onder een ander userid draait.
Hoe bedoel je welke user?
Ik ftp met php bestanden op en open daarna counter.php die kijkt of er al een txt bestandje is aangemaakt. zoniet maak er 1 en chmod die 777.
De server draait niet op savemode.

Acties:
  • 0 Henk 'm!

Verwijderd

zover ik weet moet je om chmod te kunnen doen eigenaar zijn van de file.
als je de file dus via ftp chmod naar 0777 kan je wel schrijven, maar is de file nog steeds niet van het process waaronder de webserver draait (waarschijnlijk nobody of apache).
je zal dus met php via ftp moeten chmodden als het echt nodig is.

Acties:
  • 0 Henk 'm!

  • Big4SMK
  • Registratie: September 2001
  • Laatst online: 18-09 13:33
wat hij bedoeld is dat als je via ftp binnen komt je met een ander UID bezig bent dan dat je dat via PHP doet.

als je vanuit root (dan heb je zeker toegang) even je file CHOWN-ed naar de PHP user moet het wel lukken denk ik.

chown [phpuser] counter.txt

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wat ik ook eigenaardig vind als ik hem via php ftp chmod dat hij dan de volgende error geeft.
Fatal error: Call to undefined function: ftp_chmod()

Acties:
  • 0 Henk 'm!

Verwijderd

voor via ftp kan je ook ftp_site gebruiken...
op www.php.net staat al een voorbeeldje voor chmod
http://nl.php.net/manual/en/function.ftp-site.php

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Via een ftp client dir info gedaan en het volgende komt eruit:
-rw-r--r-- 1 hothernl hothernl 1442 May 3 13:24 counter.php
-rw-r--r-- 1 hothernl hothernl 1 May 3 13:23 counter.txt
-rw-r--r-- 1 hothernl hothernl 34 May 3 13:23 index.html

Acties:
  • 0 Henk 'm!

  • Big4SMK
  • Registratie: September 2001
  • Laatst online: 18-09 13:33
de owner van je counter.txt is dus duidelijk hothernl met group hothernl.
Probeer nou eerst eens simpel via shell je file te chownen naar je php user (staat in je httpd.conf als ik me niet vergis [als je apache gebruikt])

Acties:
  • 0 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 03-09 22:58

igmar

ISO20022

Big4SMK schreef op 03 mei 2004 @ 20:56:
de owner van je counter.txt is dus duidelijk hothernl met group hothernl.
Probeer nou eerst eens simpel via shell je file te chownen naar je php user (staat in je httpd.conf als ik me niet vergis [als je apache gebruikt])
Je kan als user geen files en/of directories chownen.
Pagina: 1