根据我的理解,rsync
没有-o
and-g
选项意味着在不更改目标所有者和组的情况下进行复制。但是,我发现了一种rsync
我无法解释的非常奇怪的行为。一个例子总是比冗长的解释好:
设file1
和file2
为 2 个文件,其组和所有者分别为 user1:user1 和 user2:user2。
运行以下指令(在 2 行中)user1
是一个 sudoer:
touch file1
然后
touch file2 && sudo chown user2:user2 file2 && rsync file1 file2 && ls -l
结果是:
-rw-r--r-- 1 user1 user1 0 Jan 16 19:51 file1
-rw-r--r-- 1 user1 user1 0 Jan 16 19:53 file2
在运行以下指令时,仍然使用user1
,一次(1 行):
touch file1 && touch file2 && sudo chown user2:user2 file2 && rsync file1 file2 && ls -l
结果是:
-rw-r--r-- 1 user1 user1 0 Jan 16 19:51 file1
-rw-r--r-- 1 user2 user2 0 Jan 16 19:53 file2
总而言之,在第一种情况下,所有权file2
已被修改,而在第二种情况下,它还没有被修改,它仍然是 user2:user2,这是预期的行为(除非我误解了)rsync
。
也许我错过了什么,但我找不到什么。请问您有什么解释吗?
先感谢您。