这里是如何演示这个问题:
在OSX抓取terminal,并运行
cd ~ && mkdir abc && ls -l ~/
这是关于文件夹“abc”的输出:
drwxr-xr-x 2 justin staff 68 Jan 4 20:20 abc
团体名称可以被视为“员工”。
rsync从远程服务器到文件夹“abc”的文件或文件夹:
rsync -aP -v -z -h username@server:/mnt/foo/ ~/abc/
再次检查文件夹“abc”的组名:
$ ls -l ~/ drwxr-xr-x 2 justin _lpoperator 68B Jan 4 19:44 abc
和“abc”中的所有文件,组名都是_lpoperator。 尝试在“abc”中创build一个文件并检查其组名,
$ touch def $ ls -l ~/abc -rw-r--r-- 1 justin _lpoperator 0 Jan 4 20:28 def
我知道当我使用rsync的-a选项时,它将尝试保留该远程文件的权限,但是为什么创build了_lpoperator? 这真的很奇怪,有什么想法?
发生这种情况是因为您正在使用rsync的-a
选项。 一个'-a'打开的设置是'-g',保存组。 您从远程计算机传输的文件夹或文件由组ID(gid)100拥有。在您的计算机上,gid 100是'_lpoperator'。 你可以通过运行grep _lpoperator /etc/group
来validation。 这将显示100的实际组ID。
所以,当rsync进行传输时,它会保存来自远程文件的gid。 那个gid映射到你的机器上的_lpoperator组,所以当你运行'ls'的时候,你会发现组更改了。