Chr*_*ton 11 rsync permissions
我想使用 rsync 将文件从我的计算机传输到远程 Linux 系统。无论本地文件的组所有权如何,我都想在远程端设置这些值。
如果我在远程 Linux 系统上,我可以创建目录并将所有权和权限设置为:
mkdir my_directory
chown :my_group my_directory
chmod 775 my_directory
Run Code Online (Sandbox Code Playgroud)
如果我在本地创建目录,然后使用 rsync(请记住,我本地没有 my_group),我会这样做:
rsync -ae ssh --chmod=ug+rw,Dug+rwx my_directory remoteserver:dest
Run Code Online (Sandbox Code Playgroud)
这有效,但我无法弄清楚如何通过 rsync 设置组所有者。如果我执行 a chmod g+s dest
,则 my_directory 具有正确的组所有者,但其中的所有文件的组所有者都不正确。
小智 8
此刻,我正在寻找一种在 rsync 操作中自己执行此操作的方法,而不是在后续操作中。我希望某些文件不是世界可读的并分配一个组,从而限制对该组内的远程服务器进程的访问。但是我没有找到。
我唯一能想到的是:
然后运行:
ssh remoteserver chgrp -R {groupname} /my/dest/folder/* && \
chmod -R o-rwx /my/dest/folder/*
Run Code Online (Sandbox Code Playgroud)
小智 6
我认为您的命令中缺少 -p 标志..
--chmod
此选项告诉 rsync 将一个或多个逗号分隔的“chmod”字符串应用于传输中文件的权限。结果值被视为发送方为文件提供的权限,这意味着如果 --perms 未启用,此选项似乎对现有文件没有影响。
归档时间: |
|
查看次数: |
30482 次 |
最近记录: |