[PHP / Linux] mkdir() maakt dirs als root aan?

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

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik maak met PHP dirs aan met de functie mkdir() van PHP. Dit werkt, maar... de eigenaar van de dir is root en de groep is ook root 8)7 . Dan kan ik er dus niks mee, want ik mag er geen files in zetten, niks.

Het gekke is dat ik hem wel mag verwijderen via exec("rm -r $dir"); . Ik heb al een hoop gezocht maar ik kan er weinig over vinden... Iemand een ideetje _/-\o_ ?

Apache draait btw als www-data, en chownen of chgrpen lukt niet (permission denied.. :( ).

Acties:
  • 0 Henk 'm!

  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 20-09 23:30

Kvn

PHP:
1
mkdir("/map", 0777)


Gewoon chmodden dus? Dan lijkt het me dat je er in ieder geval files in kunt zetten.

Acties:
  • 0 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 21:56

Cyphax

Moderator LNX
De eigenaar van de dir is root? Apache draait als root? Dat is sowieso niet zo heel fijn... anders kun je inderdaad ook de rest van je systeem rechten geven op de files en dirs die je aanmaakt maar het klinkt een beetje eng allemaal. :)

Saved by the buoyancy of citrus


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

Kvn schreef op zondag 09 juli 2006 @ 21:11:
PHP:
1
mkdir("/map", 0777)


Gewoon chmodden dus? Dan lijkt het me dat je er in ieder geval files in kunt zetten.
Wat niets verandert aan het feit dat de map aangemaakt is als root :z

Is de uid van www-data <> 0?

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • Kvn
  • Registratie: Maart 2001
  • Laatst online: 20-09 23:30

Kvn

Ik beweer toch ook niet dat hij hiermee de eigenaar van de map instelt, ik geef alleen een mogelijke workaround zodat de map toch te gebruiken is 8)7

Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

... en het probleem niet is opgelost. Dit kan nogal een veiligheidsprobleem zijn (attack surface area is nogal wat groter als een proces als root draat). Dat soort dingen moet je uitzoeken, en geen symptoombestrijding op toepassen.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
lost dit het ook niet op?
[rml][ PHP] mkdir() probleempje[/rml]

trouwens dat je hem mag verwijderen is logisch, want wat je aanmaakt mag je zelf altijd verwijderen, of je nou root bent of gewoon een user

[ Voor 46% gewijzigd door BasieP op 10-07-2006 10:25 ]

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • kenneth
  • Registratie: September 2001
  • Niet online

kenneth

achter de duinen

BasieP schreef op maandag 10 juli 2006 @ 10:24:
trouwens dat je hem mag verwijderen is logisch, want wat je aanmaakt mag je zelf altijd verwijderen, of je nou root bent of gewoon een user
Nee, je mag hem verwijderen als je eigenaar bent van de parent folder. Er wordt nergens opgeslagen wie een file/folder aanmaakt, dus dat valt al lastig te achterhalen.

Look, runners deal in discomfort. After you get past a certain point, that’s all there really is. There is no finesse here.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Apache draait als www-data. Eigenaar bovenliggende map is ook www-data. In de map die ik aanmaak, en dus van root is, mag ik wel files zetten, maar geen mappen maken :S.

Alle bovengenoemd "oplossingen" had ik geprobeerd, maar werkt niet... Iemand nog wat _/-\o_ ?

@ Kenneth, wat is de uid? (Joh, userid denk ik, maar waar vind ik die?)

[ Voor 15% gewijzigd door Verwijderd op 10-07-2006 22:31 ]


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
kenneth schreef op maandag 10 juli 2006 @ 10:27:
[...]
Nee, je mag hem verwijderen als je eigenaar bent van de parent folder. Er wordt nergens opgeslagen wie een file/folder aanmaakt, dus dat valt al lastig te achterhalen.
je mag ook alleen maar wat aanmaken als je schrijfrechten heb op de parent folder, dus dan kan je het ook verwijderen ;)

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Uiteindelijk heb ik het zo opgelost:

Aangezien ik nog een server heb staan (fileserver) heb ik besloten alle bestanden die worden geupload daar neer te zetten. Heb een share aangemaakt op die fileserver en op de webserver de share gemount als:

mount -t cifs //SERVER02/Picdump /picdump -o username=server03,uid=33,gid=33

Om die uid en gid gaat het nu; die is het uid en gid van www-data; alles wat dus in die share aangemaakt wordt is automagisch van www-data.

Problem solved _/-\o_ !

Met dank aan Kenneth voor de inspiratie (hij begon over uid's :P ) :)

[ Voor 9% gewijzigd door Verwijderd op 11-07-2006 19:21 ]

Pagina: 1