Toon posts:

[PLESK] Door PHP geuploade bestanden verkeerde eigenaar.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Helaas overgestapt van CPANEL naar PLESK, met het probleem: Wanneer een PHP script op mijn linux server met Plesk een bestand aanmaakt, krijgt dit als eigenaar apache:apache in plaats van gebruiker:psacln. Hierdoor kan dit bestand niet meer via ftp bewerkt, verwijderd of gewijzigd worden :(.

Ik heb een oplossing die werkt maar niet echt werkzaam is, namelijk na upload de eigenaar via dit php script laten wijzigen.

Wie weet een instelling of aanpassing om dit probleem op te lossen (via php.ini of httpd.conf) en die ook werkbaar is voor nieuwe gebruikers (dus niet het script steeds te hoeven aanpassen). Mijn dank zal groot zijn!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
Je PHP scripts draaien onder de apache user, met de rechten van apache, dus zal je dit niet op kunnen lossen op deze manier. Bijkomend nadeel is dat je die geuploade dingen ook nog eens sloopt op het moment dat je safe mode aan gaat zetten.

Bij een hostingbedrijf heb ik dit probleem opgelost met mod_fastcgi en PHP in CGI mode draaien. Iets meer overhead, maar uiteindelijk maakt snelheid niet super veel verschil met de oude situatie. Met mod_fastcgi is het mogelijk suexec toe te passen, waardoor PHP scripts van gebruikers altijd onder de ingestelde gebruikersnaam voor die Vhost wordt gedraaid. Echter gebruikt dit bedrijf geen Plesk, maar een zelfgemaakt admin panel, waar dit vanaf begin af aan al in het ontwerp is meegenomen.

  • irondog
  • Registratie: Januari 2001
  • Laatst online: 11-05-2025

irondog

alle dingen moeten onzin zijn

Misschien een idee om de setuid/setgid bits van een directory te zetten.

[P5B deluxe] [Core2Duo 6300] [2 X 1GB DDR2] [GF FX7300] [320 GB WD] [Gentoo] [VISTA]


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 15-01 10:55
Waarom niet apache in de group psacln laten draaien? Da's toch veel simpeler? En eventueel zorgen dat na het uploaden een bestand ook group-writable permissies heeft, misshcien dat ergens een umask is in te stellen ofzo.

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
irondog schreef op vrijdag 20 mei 2005 @ 16:13:
Misschien een idee om de setuid/setgid bits van een directory te zetten.
Dat werkt AFAIK alleen om een group toe te wijzen, een user krijg je er niet mee toegewezen. Zou leuk zijn, jij hebt een setuid directory in je vhost zitten met jouw naam, ik pleur daar als andere klant op die webserver ff wat kinderpr0n neer en ineens zijn het jouw files en krijg jij geflikker met weet ik veel wat voor instanties. Om die reden zijn setuid directories met dat gedrag dus ook niet geimplementeerd in unix/linux.

  • sjokki
  • Registratie: Juli 2002
  • Niet online
Verwijderd schreef op vrijdag 20 mei 2005 @ 14:06:
Wanneer een PHP script op mijn linux server met Plesk een bestand aanmaakt, krijgt dit als eigenaar apache:apache in plaats van gebruiker:psacln. Hierdoor kan dit bestand niet meer via ftp bewerkt, verwijderd of gewijzigd worden
Volgens mij kan je via FTP sowieso geen bestanden wijzigen. Wijzigen komt neer op downloaden, vervolgens op je eigen computer bewerken en dan weer uploaden. Voor downloaden moet het bestand world-readable zijn omdat de eigenaar en groep niet overeenkomen. Voor uploaden zijn alleen de permissies op de directory waarin het bestand staat van belang, de permissies op het bestand zelf spelen geen rol. Als je de directory ook met PHP gemaakt hebt moet deze world-writable zijn. Hetzelfde geldt voor verwijderen van de bestanden.

  • iMars
  • Registratie: Augustus 2001
  • Laatst online: 00:44

iMars

Full time prutser

sjokki schreef op zaterdag 21 mei 2005 @ 15:25:
[...]


Volgens mij kan je via FTP sowieso geen bestanden wijzigen. Wijzigen komt neer op downloaden, vervolgens op je eigen computer bewerken en dan weer uploaden. Voor downloaden moet het bestand world-readable zijn omdat de eigenaar en groep niet overeenkomen. Voor uploaden zijn alleen de permissies op de directory waarin het bestand staat van belang, de permissies op het bestand zelf spelen geen rol. Als je de directory ook met PHP gemaakt hebt moet deze world-writable zijn. Hetzelfde geldt voor verwijderen van de bestanden.
Als het groep apache:apache is, dan kan je wel downloaden/lezen ... maar bewaren/uploaden gaat dan niet ;)

Koop hier mijn P1 reader :)


Verwijderd

Topicstarter
Dit schijnt toch een van de beperkingen te zijn van Plesk die idd als apache:apache draait en waar meer mensen last van hebben, maar weinig aan kunnen doen. Ik ben na twee dagen speuren de volgende oplossing tegengekomen die nog schijnt te werken ook:

PHP in CGI mode laten lopen, echter ik mag -configure niet uitvoeren op de server, waardoor ik ben aangewezen op een runtime binary. Deze vond ik hier http://sourceforge.net/pr..._id=7130&package_id=86765 maar kan vervolgens geen verbinding meer maken met MySQL databases.

Het MySQL probleem zit hem in de socket, deze staat standaard op /tmp/mysql.sock maar moet zijn /var/lib/mysql/mysql.sock. Ik heb deze onder [client] aan de /etc/my.cnf proberen toe te voegen, maar phpinfo(); gaf nog altijd /tmp/mysql.sock aan.

Nu heb ik bij de verbindingsparameters van mysql dit pad toegevoegd middels:

localhost:/var/lib/mysql/mysql.sock

en dit schijnt te werken. Wanneer iemand een elegantere oplossing heeft gevonden dan hoor ik dit natuurlijk graag, voorlopig doe ik het maar op deze manier.

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 19:18
PHP als CGI uitvoeren heb je suexec bij nodig, welke je zeer waarschijnlijk ook mag patchen zodat ie paden in de user homedirs toestaat. Verder raad ik je serieus aan om naar mod_fastcgi te kijken, want PHP in CGI mode is zo belabberd traag zonder die module dat je gewoon gaat janken om de performance.

  • Ibex
  • Registratie: November 2002
  • Laatst online: 16:25

Ibex

^^ met stom.

Is het niet mogelijk om het PLESK-systeem een beetje te editten en zo PLESK zelf een chown over de betreffende bestanden te laten lopen?

Het is maar een kleine ingeving.

Archlinux - Rode gronddingetjes zijn lekker - Komt uit .be

Pagina: 1