[PHP] Rechten

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

Onderwerpen


Acties:
  • 0 Henk 'm!

  • BlackWhizz
  • Registratie: September 2004
  • Laatst online: 08-12-2024
hallo,

Ik zal het ff kort uitleggen.

k ben bezig met een site voor een klant. Ik ben bezig met het server script met een cronjob.
Die werkt niet, en daarnaast, waar ik een trap in de goede richting voor nodig heb zit ik met een php die ondanks dat safe mode uit staat toch onder de verkeerde gebruiker bestanden aanmaakt.

hierdoor worden de bestanden opgeslagen onder de user apache (UID en GID) en rechten 363. Ofterwijl ik kan er met geen mogelijkheid met de client verbindingen mee maken.
Hoe kan ik dit fixxen. Ik dacht dat je met ftp met CHOWN dat kan doen. Helaas snapt php dat niet als ik het in ftp_site of ftp_exec doe.

Acties:
  • 0 Henk 'm!

  • pkuppens
  • Registratie: Juni 2007
  • Laatst online: 18-09 07:32
Ik snap nog niet echt veel van je probleem en een echte expert ben ik ook niet, maar dat weerhoudt me er niet van wat te schreeuwen. Misschien per ongeluk ergens raak, anders pech gehad..

Wil je files uploaden die je als crontab wil laten uitvoeren?!? Niet geheel ongevaarlijk...

Heb je een code sample? Zoals http://www.php.net/ftp_site

Maar die CHOWN lijkt meer op een 'chmod'. Die 363 snap ik niet, maar zou aan een rare umask moeten liggen.

De php server draait onder user apache en die zal vast niet al te gekke chowns mogen doen.
Je cronjob moet dan denk ik ook onder 'apache' draaien.

Verder altijd dubbelchecken of de paden goed staan.

Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
suExec of suPHP installeren kan misschien helpen? Grote kans dat je cronjob als root o.i.d. draait. suPHP of suExec zorgt dat het PHP-bestand wordt uitgevoerd als de eigenaar van het bestand (als ik het goed begrijp).

Of in de cronjob je script uitvoeren dmv fopen() oid.

[ Voor 11% gewijzigd door r0bert op 04-12-2007 19:20 ]


Acties:
  • 0 Henk 'm!

  • Dennahz
  • Registratie: November 2001
  • Laatst online: 17-09 21:50

Dennahz

Life feels like hell should.

Upload je bestanden via je PHP script? Kijk hier even naar. :) Onder PHP ben je de user "Apache" en kan je dus die bestanden ook chmodden.

[ Voor 23% gewijzigd door Dennahz op 04-12-2007 19:22 ]

Twitter


Acties:
  • 0 Henk 'm!

  • BlackWhizz
  • Registratie: September 2004
  • Laatst online: 08-12-2024
Script doet het goed als ik hem aanroep in mijn browser.

Het script komt er op neer dat ik fopen,fwrite etc gebruik om in RSS formaat verschillende gallerijen plaats. Ik upload dus niets!

robert, ik heb geen Root rechten over PHP. Het is voor een klant die een reseller heeft.

Acties:
  • 0 Henk 'm!

  • ikke007
  • Registratie: Juni 2001
  • Laatst online: 18-09 14:10
PHP maakt *altijd* bestanden aan onder zijn eigen user. PHP draait over het algemeen onder user 'nobody' of 'apache'. Wanneer dus de bestanden van apache zijn kun je vanuit PHP deze bestanden chmodden om ze leesbaar/schrijfbaar te maken voor (alle) andere gebruikers.

Lets remove all security labels and let the problem of stupidity solve itself


Acties:
  • 0 Henk 'm!

  • evolnick
  • Registratie: Januari 2006
  • Laatst online: 04-06-2024
als het script wel goed werkt in de browser, dan kun je in het cronjob commando wget gebruiken en dan de url die je wilt openen.

bv: * * 1 * * "wget http://www.domein.nl/script.php"

Moet je alleen even verder kijken welke opties je bij wget wilt gebruiken. bijvoorbeeld geen output document opslaan of andere timeout etc

als je het via de php cli doet, dan zit je met andere rechten ja. Dan heb je niet de apache rechten die je hebt als je via de webbrowser het script benaderd.
Pagina: 1