<<On Wed, 16 Mar 2005 14:52:45 +0000, Geoff Clare <yyy@xxxxxxxxxxxxx> said:
> No, there is no ambiguity. Symlinks are always followed unless there
> is an explicit statement that the function operates on the symlink
> itself (as on the rename() page for example).
I believe (those who were there can correct me if I'm wrong) that the
intent of the original specification was to allow both traditional
Unix implementations, which stored symbolic links in special files,
and other implementations which treated symbolic links as special
directory entries. That is why POSIX does not specify the full range
of "file" operations on symlinks (e.g., lchown(), lutimes(), etc.).
4.4BSD simulated the "just a directory entry" model, but we found (in
all values of *BSD) that this broke lots of software that for one
reason or another depending on symlinks having meaningful ownership.
(Consider the behavior of sticky directories if symlinks have no
owner.) So, we decided to return to the original behavior, and in
later development have added pretty much all of the missing
functionality (lchown, lutimes, lchflags, lchmod, lgetfh).
-GAWollman
|