Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2006 22:09:34 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Pawel Jakub Dawidek <pjd@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/lib/libc/sys symlink.2
Message-ID:  <20061213220608.F792@besplex.bde.org>
In-Reply-To: <20061213074528.GA1815@garage.freebsd.pl>
References:  <200612122005.kBCK54S3042289@repoman.freebsd.org> <20061213135203.G1136@delplex.bde.org> <20061213074528.GA1815@garage.freebsd.pl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 13 Dec 2006, Pawel Jakub Dawidek wrote:

> On Wed, Dec 13, 2006 at 01:57:01PM +1100, Bruce Evans wrote:
>> On Tue, 12 Dec 2006, Pawel Jakub Dawidek wrote:
>>
>>> pjd         2006-12-12 20:05:04 UTC
>>>
>>> FreeBSD src repository
>>>
>>> Modified files:
>>>   lib/libc/sys         symlink.2
>>> Log:
>>> symlink(2) return EACCES if a component of the name2 path prefix denies
>>> write permission.
>>
>> Isn't that a bog in symlink(2)?  POSIX and POLA don't mention it.
                  ugh
>
> It has to be that way. You can't write to a directory you don't have
> write permission, ie. you can't create files, directories, hardlinks and
> symlinks. 'name2' is a file name, 'name1' is what symlink point at.

That's only for the _final_ component (after pathname resolution).  See
my previous reply about this for mkfifo() and open() for more details.

Bruce



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