[PHP] owner & group verkeerd bij fopen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sinds de verhuizing naar een andere server (plesk) krijgt het bestand dat door dit simpele script wordt aangemaakt de volgende owner en group: (apache.apache) i.p.v. user.group zoals op de oude server. Hierdoor kan ik het bestand niet bewerken nadat die is aangemaakt.

PHP:
1
2
3
4
5
6
7
<?

$fp=fopen("test.txt","a");
fputs($fp,"hallo");
fclose($fp);

?>


Weet iemand hoe ik kan bepalen wie de user en wie de group moet worden van het bestand dat wordt aangemaakt? Ik kon deze informatie niet vinden op php.net en ook niet hier.

p.s. chown & chgrp werken niet in het script!

[ Voor 9% gewijzigd door Verwijderd op 27-09-2004 18:10 ]


Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Als je PHP als module in apache draait dan zou ik verwachten dat je file als owner de user die apache opstart krijgt.
Dus als je die kunt veranderen dan verander je de owner.

Who is John Galt?


Acties:
  • 0 Henk 'm!

Verwijderd

justmental schreef op 27 september 2004 @ 18:12:
Als je PHP als module in apache draait dan zou ik verwachten dat je file als owner de user die apache opstart krijgt.
Dus als je die kunt veranderen dan verander je de owner.
heel juist en meestal draait apache onder de user apache of nobody. Wil je het nu toch nog werkend krijgen kun je het beste het via ftp uploaden, een andere oplossing is er (zover ik weet) niet.

Acties:
  • 0 Henk 'm!

  • Tomsworld
  • Registratie: Maart 2001
  • Niet online

Tomsworld

officieel ele fan :*

Verwijderd schreef op 27 september 2004 @ 19:07:
[...]


heel juist en meestal draait apache onder de user apache of nobody. Wil je het nu toch nog werkend krijgen kun je het beste het via ftp uploaden, een andere oplossing is er (zover ik weet) niet.
Jawel dan moet je naar suexec / suphp enz gaan kijken.

"De kans dat een snee brood op een nieuw tapijt valt met de beboterde zijde onderaan, is recht evenredig met de prijs van het tapijt"


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het volgende:

PHP:
1
2
3
4
5
6
7
8
9
10
11
<?

$fp=fopen("test.txt","a");
fputs($fp,"hallo");
fclose($fp);

chown("test.txt", owner);
chgrp("test.txt", group);
chmod("test.txt", 0777);

?>


chmod gata goed, maar chown & chgrp is niet toegestaan omdat alleen een SU (Super User) dat mag uitvoeren.

Hoe kan ik er nou voor zorgen dat ik zelf bepaal welke owner en group het aan te maken bestand krijgt?

Acties:
  • 0 Henk 'm!

  • elTigro
  • Registratie: November 2000
  • Laatst online: 04-05 13:01

elTigro

Es un Gringo!

je kunt toch de dir waar php in moet schrijven van de group user maken, en dan setuid group doen op die directory, dan worden alle bestanden in die dir automatisch de group user (of waarnaar je die dir dan ook gechgroupt hebt natuurlijk)

/edit: even netjes:

chgrp users dirnaam
chmod g+s dirnaam
:)

[ Voor 13% gewijzigd door elTigro op 01-10-2004 16:17 ]

Lazlo's Chinese Relativity Axiom:No matter how great your triumphs or how tragic your defeats --approximately one billion Chinese couldn't care less.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
BK1 schreef op 01 oktober 2004 @ 16:15:
je kunt toch de dir waar php in moet schrijven van de group user maken, en dan setuid group doen op die directory, dan worden alle bestanden in die dir automatisch de group user (of waarnaar je die dir dan ook gechgroupt hebt natuurlijk)

/edit: even netjes:

chgrp users dirnaam
chmod g+s dirnaam
:)
Helaas heb je daar ook SU rechten voor nodig. De rechten van de directory staan al juist, maar de file wordt aangemaakt door apache waardoor deze automatisch de owner en group apache.apache krijgt. Ik zoek dus naar een oplossing die mogelijk is zonder dat er SU rechten nodig zijn.

Acties:
  • 0 Henk 'm!

  • usr-local-dick
  • Registratie: September 2001
  • Niet online
Verwijderd schreef op 01 oktober 2004 @ 17:04:
[...]


Helaas heb je daar ook SU rechten voor nodig. De rechten van de directory staan al juist, maar de file wordt aangemaakt door apache waardoor deze automatisch de owner en group apache.apache krijgt. Ik zoek dus naar een oplossing die mogelijk is zonder dat er SU rechten nodig zijn.
Dat gaat niet lukken.
Je hebt zowieso de admin nodig bij deze klus.
Ik zou die admin een groep laten aanmaken waar jij in zit en user apache.
Dan zoals bovenstaand voorbeeld de map setgid maken (chmod 2775 map).
Dan kan apache erin schrijven en jij ook.
Je kan ook bestanden weer weggooien dan.
Pagina: 1