Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Oct 2008 12:18:55 -0400
From:      David Schultz <das@FreeBSD.ORG>
To:        Edward Tomasz Napierala <trasz@FreeBSD.ORG>
Cc:        freebsd-arch@FreeBSD.ORG
Subject:   Re: Directory rename semantics.
Message-ID:  <20081028161855.GA45129@zim.MIT.EDU>
In-Reply-To: <20081027193545.GA95872@pin.if.uz.zgora.pl>
References:  <20081027193545.GA95872@pin.if.uz.zgora.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081028161855.GA45129>