以下是如何演示该问题:
在 OSX 上抓取终端并运行
cd ~ && mkdir abc && ls -l ~/
Run Code Online (Sandbox Code Playgroud)
以下是有关文件夹“abc”的输出:
drwxr-xr-x 2 justin staff 68 Jan 4 20:20 abc
Run Code Online (Sandbox Code Playgroud)
团体名称可以看作是“工作人员”。
rsync 将文件或文件夹从远程服务器同步到文件夹“abc”:
rsync -aP -v -z -h username@server:/mnt/foo/ ~/abc/
Run Code Online (Sandbox Code Playgroud)再次检查文件夹“abc”的组名:
$ ls -l ~/
drwxr-xr-x 2 justin _lpoperator 68B Jan 4 19:44 abc
Run Code Online (Sandbox Code Playgroud)
而“abc”中的所有文件,组名都是_lpoperator。尝试在“abc”中创建一个文件并检查其组名,
$ touch def
$ ls -l ~/abc
-rw-r--r-- 1 justin _lpoperator 0 Jan 4 20:28 def
Run Code Online (Sandbox Code Playgroud)我知道当我使用 rsync 的 -a 选项时,它会尝试保留该远程文件的权限,但为什么创建 _lpoperator ?这真的很奇怪,有什么想法吗?
发生这种情况是因为您正在使用-a
rsync 选项。“-a”打开的一项设置是“-g”,即保留组。您从远程计算机传输的文件夹或文件归组 ID (gid) 100 所有。在您的计算机上,gid 100 是“_lpoperator”。您可以通过运行来验证这一点grep _lpoperator /etc/group
。这将显示实际的组 ID 100。
因此,当 rsync 进行传输时,它会保留远程文件的 gid。该 gid 映射到您计算机上的 _lpoperator 组,因此您会在运行“ls”时看到该组发生更改。
归档时间: |
|
查看次数: |
2771 次 |
最近记录: |