If you want to change the owner of the file it points to, use:
fd = open(...);
fchown(fd,..);
which should always work the way you expect. If you use "chown()" on the
pathname it will change the synlink itself (if you think about it, that is
actually the reasonable behaviour: otherwise you could never change the owner
of the symlink).
I think some older versions of linux actually changed the file that the symlink
pointed to, and it got changed at one point. I could be mistaken, though,
Linus