使用复制(文件同步软件)时文件权限发生变化

使用复制(文件同步软件)时文件权限发生变化

我刚开始使用 Copy,感觉很棒,不过我遇到了一个困难。我运行着两台 Xubuntu Linux 计算机,一台在办公室,一台在家。办公室的那台是 64 位的,家里的那台是 32 位的(我不知道这是否是个问题,不过大概应该不是)。问题是,当我从任一端将文件放入 /Copy 文件夹时,它会显示在另一台计算机上,但其权限已更改。

具体来说,如果我在 emacs 中编写一个测试 ASCII 文件并保存它,它将具有以下权限:

-rw-rw-r-- 1

然而,它会在另一端显示权限:

-rwx------ 1

这可能特别烦人,尤其是因为可执行文件被 shell 标记为绿色。有没有什么解决办法?

答案1

您可以使用rsync它来复制文件。该-p选项将保留权限和许多选项:

-p          --> Preserve permissions 
-E          --> Preserve Executability
-o          --> Preserve OwenrShip
-g          --> Preserve Groups
-t          --> Preserve modifition time

如需进一步了解,请使用此关联

答案2

cp还可以复制文件并保留权限、所有权等。为此,您需要使用开关--preserve。以下是相应的手册条目:

--preserve[=ATTR_LIST]
preserve the specified attributes (default:
mode,ownership,timestamps), if possible additional attributes:
context, links, xattr, all

但正如 Fiximan 所建议的那样,cp -a这会更简单。再次从手册页中,

-a, --archive ; same as -dR --preserve=all

因此命令将会像这样:

cp -a <source> <destination>

话虽如此,由于您要复制文件,尤其是在通过互联网从办公室计算机复制到家中计算机时,最好使用scpscp具有-p开关,可保留原始文件的修改时间、访问时间和模式。 您可能还想使用开关-r递归复制文件夹和子文件夹。这里是关于如何使用 scp 传输文件的良好指南。

答案3

如果你被供应商锁定复制,您可以在他们的网站上询问有关保留属性的支持。

如果你有 GUI,我建议使用免费文件同步

  • 是开源(GPLv3)软件;
  • 完美适用于本地和远程(FTP、SMB/CIFS、通过 GVFS 的 SSH)文件;
  • 按属性和内容进行比较;
  • 具有灵活的同步设置(双向、镜像、更新、自定义);
  • 具有实时同步代理;
  • 保留属性并允许复制文件访问权限。

您也可以尝试齐奏(Ubuntu包裹可用)或任何其他程序维基百科列表

相关内容