[linux] Re: w permissie voor files, wat betekent dat precies?

Daniel von Asmuth asmuth op bakunin.xs4all.nl
Zo Jan 15 21:53:27 CET 2012


Aldus schreef Hans Paijmans op Sun, Jan 15, 2012 at 06:31:27PM +0100:
> Bart-Jan Vrielink <bartjan op vrielink.net> wrote:
> On 01/15/12 17:46, joop g wrote:
> > Iedereen weet het natuurlijk: w permission betekent dat je de inhoud van een
> > file kunt veranderen. Maar onlangs kwam ik langs een probleem dat me wat verder
> > liet nadenken over dat begrip, en wel als je wel w permissie hebt voor het
> > directory, maar niet voor de file zelf.
> > Het lijkt me niet onmogelijk dat hier een heel eenvoudig antwoord voor is,
> > maar ik zie het even niet, dus vraag ik het maar. Wie een vraag stelt is even
> > een dwaas, wie haar niet stelt blijft een dwaas, niet?
> >
> > Ik heb dus een bestand, zeg maar bestand.jpg. De eigenaar heeft wel
> > schrijfrechten voor het directory, maar niet voor het bestand zelf. Het idee
> > is dat hij het bestand wel mag cre??ren, maar er vervolgens met zijn fikken
> > vanaf moet blijven.

Dat is juist.  Stel ik doe 
	umask 0777
	date >out.put
	date >>out.put
	rm out.put
Dan zullen de permissies van het bestand out.put zodanig zijn dat
niemand het mag lezen, veranderen of uitvoeren. Het rm commando levert
een waarschuwing op, maar je mag het bestand verwijderen. Dat is immers
een operatie op de directory, terwijl de andere operaties op de file
zijn.

(Uit het hoofd, dus kijk uit... )
De programmeur doet een open() op de file, dan worden de permissies
gecontroleerd. Je hebt schrijfrecht op de directory - OK - en de
file bestaat nog niet - ik vermoed dat je dan de file mag aanmaken
en write permissie op de file hebt, dus zolang data mag schrijven
totdat de file gesloten is. De volgende keer dat je de file opent
heeft de permissiecontrole een minder gunstige afloop.

> > Maar gaat dat werken? Als iemand anders dat bestand vervolgens opent en er
> > naar linkt, misschien. Maar wat weerhoudt de eigenaar om gewoon dat bestand
> > weer te removen (is alleen een operatie op het directory, mag dus) en opnieuw
> > te cre??ren?

Niets.

> > Misschien mis ik iets, maar ik kan even niet helemaal in beeld krijgen hoe dat
> > zou kunnen werken.
> > 
> 
> Wat is je vraag precies? Voor zover ik kan overzien klopt je 
> omschrijving, maar ik mis een concrete vraag hierboven.
> 
> 
> Moet je voor het aanmaken van een bestand niet execute rechten voor die directory hebben?

Nee. Je moet execute rechten hebben om 'ls' op die directory te kunnen
doen. Anders moet je maar toevallig weten dat er een bepaalde file
is....



Met vriendelijke groet,



Daniel von Asmuth.

-- 
	
		People who bought this story also bought....



More information about the Linux mailing list