Directory rename semantics.

Coleman Kane cokane at FreeBSD.org
Thu Oct 30 12:34:48 PDT 2008


On Tue, 2008-10-28 at 12:18 -0400, David Schultz wrote:
> On Mon, Oct 27, 2008, Edward Tomasz Napierala wrote:
> > Let's say we have two directories, "A/" and "B/".  We also have a
> > file, "A/F".  To remove that file, we need write access to "A/".
> > To move that file to "B/", we need write access to both "A/" and
> > "B/".  Now, assume we have a directory, "A/D".  To remove that
> > directory, we need write access to "A/".  To move that directory
> > to "B/", we need write access to "A/", "B/", _and "A/D"_.
> > 
> > I'd like to remove the last check (requirement to have write access
> > to a directory we want to move somewhere else).  Reason for this
> > is that it doesn't seem very logical, and many systems - including
> > SunOS, and our ZFS - behave differently.  In other words, we have
> > different semantics on UFS and ZFS.
> 
> No comment on other operating systems or standards, but I wanted
> to point out that there is some logic to FreeBSD's present behavior:
> When you move A/D, you must be able to write to D, because you are
> modifying D's ".." entry to point to B instead of A.
> 
> >From a practical point of view, I think either behavior is fine,
> but we should consider whether any security-critical applications
> rely on the current behavior before changing it.

I was always mystified by the reason for this behavior until now... As
for my input, I think the change sounds fine (perhaps allowing revert to
old behavior via a sysctl).

-- 
Coleman Kane
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20081030/bda65b3d/attachment.pgp


More information about the freebsd-arch mailing list