have a simple test case:
as root (w /umask 002):

mkdir -p dir/{a,b}
touch dir/b/file
ln -s ../b/file dir/a/symfile
---

So now tree should look like:

 tree -AFugp dir

dir
+-- [drwxrwxr-x root     root    ]  a/
|   +-- [lrwxrwxrwx root     root    ]  symfile -> ../b/file
+-- [drwxrwxr-x root     root    ]  b/
    +-- [-rw-rw-r-- root     root    ]  file
----

Now, w/normal user, who is in group root, try:

cp -al dir dir2
cp: cannot create hard link ‘dir2/dir/a/symfile’ to ‘dir/a/symfile’: Operation not permitted
-----

Trying to link to a symlink is the bug --
it used to duplicate the symlink.

This is a recent behavior
change -- i.e. looking at earlier behavior, the symlinks,
like the directories are created as the 'user', and
only files are linked to.

Core utils version: 8.21 (suse rpm coreutils-8.21-7.7.7.x86_64)

Any idea how this managed to be broken?






Reply via email to