在 Solaris 10 update 10 (sparc, 147440-25) 中进行复制时,我遇到了一个奇怪的问题。
这是设置(以root身份完成):
# cd /tmp
# mkdir foo
# touch foo/thing1
# ln -s thing1 foo/thing2
# chown -hR joe:user foo
如果您查看目录和链接,一切都归用户“joe”所有。现在是有趣的部分:
# cp -rpP foo bar
此处 cp 的选项是递归、保留权限和所有权,以及对链接进行操作而不是跟随它们。但是当我这样做时,虽然使用正确的权限复制了链接,但目录本身 bar 设置为 root:root。这种行为有什么原因吗?
只有在目录中有链接时它才会这样做。如果目录仅包含文件,则保留所有所有权(我假设是因为 -P 永远不会发挥作用)。