如何确保 rsync 设置正确的文件权限?

如何确保 rsync 设置正确的文件权限?

我正在使用 rsync 将数据从 synology 盒传输到 debian 盒。

不幸的是,所有传输文件的权限在 Debian 机器上都设置为rwxrwxrwx。我想确保只有拥有该文件的用户才能看到这些文件。有没有办法告诉 Debian 机器将权限设置为类似 的内容rwx------

rsync 作业是通过 DSM GUI 设置的。如果可能的话,我宁愿避免破解 synology 框并在命令行上执行某些操作。这意味着我正在寻找一种在服务器端(debian 框)设置权限的方法。我正在使用最新的 DSM 版本(4.1)。

答案1

rsync(至少 3.0.9)有一个--chmod选项,它的作用如下:

此选项告诉 rsync 对传输中的文件的权限应用一个或多个逗号分隔的“chmod”模式。结果值将被视为发送方为文件提供的权限,

答案2

据我所知,rsync 没有这样的功能。您可以在启动传输之前使用以下命令设置 UMASK:

$ umask 077

然后执行 rsync 传输。确保您没有使用保留权限开关 (-p) 或任何设置保留权限的开关,例如 -a。如果您将其用作脚本的一部分并使用子 shell,则无需重置 umask,因为当 shell 退出时它将恢复。如果您将继续使用 shell,我建议您将 umask 恢复为更宽松的设置,例如 022。

相关内容