[php] unlink eigenaardigheid of hoort het zo?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Ik heb een upload systeem die een video upload en dan gaat converteren.

De video's komen uiteindelijk in een map terecht die er alsvolgt uitziet:

drwxr-xr-x 2 apache apache 36864 Nov 11 16:17

Tot zover nog niks vreemds. Echter als ik nu een video heb geüpload en deze wordt geconverteerd etc, dan komt deze video er alsvolgt uit te zien:

-rw-r--r-- 1 root root 44885882 Nov 11 16:17 473.mp4

Dit is ook zoals het hoort, omdat het converteer programma als root draait en deze films ook bij die user en group plaatst.

Echter nu heb ik een soort van CMS waar ik de films kan beheren. Als ik nu deze film wil verwijderen met unlink dan kan dat gewoon. De functie unlink wordt volgens mij als apache:apache uitgevoerd.

Volgens mij is dat niet helemaal de bedoeling, omdat de film als user root heeft en als group ook. Ik zelf zou verwachten dat hij een error moet geven. Weet iemand hoe dit kan?

Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

apache is eigenaar van de bovenliggende dir. Dus mag het.

[ Voor 5% gewijzigd door CyBeR op 11-11-2011 16:43 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • hostname
  • Registratie: April 2009
  • Laatst online: 09:56
Als je schrijfrechten hebt op een map dan kan je ook alle files in die map verwijderen.

Overigens, waarom draai je het converteer programma als root? Het is beter om programmas met zo min mogelijk permissies te draaien. En zeker aangezien je converteer programma waarschijnlijk iets van libavcodec/ffmpeg gebruikt, waar met enige regelmaat veiligheidslekken in ontdekt worden.

Acties:
  • 0 Henk 'm!

  • RSD
  • Registratie: Maart 2001
  • Laatst online: 08-02-2017
Het is geen ffmpeg maar die encoder van on2. Die kun je volgens mij alleen als root installeren. Maar goed als ik het goed begrijp, mag het dus, omdat hij in een map staat die execute rechten geeft aan alle gebruikers. Maar als mappen dan leidend zijn voor de rechten, waarom geef je bestanden dan rechten?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dit heeft niets met PHP te maken maar met linux file permissions;
PRG >> NOS

Dit is, IMHO, iets wat je prima zelf even kunt uitzoeken door je even 10 minuten in te lezen in de materie; een simpele google query of een goed boek doen wonderen.

[ Voor 61% gewijzigd door RobIII op 11-11-2011 16:52 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij