很多人都认为cp -pr可以在不改变权限的基础上复制整个目录,但事实上,这是错误的。cp -pr有一个致命的缺点:不能复制联接。
我们可以做一个试验,假设一个叫abc的用户进行如下操作
引用:
mkdir /tmp/a
mkdir /tmp/b
mkdir /tmp/c
ln -s /tmp/a /tmp/b/a
然后我们su 成root
引用:cp -pr /tmp/b /tmp/c
将/tmp/b目录完全复制到/tmp/c下去
当我们"ls -al /tmp/c/b"的时候,猜想一下"ls -al /tmp/c/b"下的结果是什么?你也许会认为应该是引用:
drwxr-xr-x 3 abc abc 238 Dec 14 10:31 .
drwxrwxrwt 10 root sys 898 Dec 14 10:32 ..
lrwxrwxrwx 1 abc abc 8 Dec 14 10:31 a ->; /tmp/a
实际上却是引用:drwxr-xr-x 3 abc abc 238 Dec 14 10:31 .
drwxrwxrwt 10 root sys 898 Dec 14 10:32 ..
lrwxrwxrwx 1 abc abc 8 Dec 14 10:31 a
虽然用户的权限没有被改变,但是,联接被复制成了一个文件,而失去了联接的目标。
阅读(4593) | 评论(0) | 转发(0) |