我正在编写一个脚本来从远程服务器复制文件。问题是,远程服务器的文件权限非常糟糕,我不想复制这些文件。
我的脚本中现在的行是
/usr/bin/rsync -rtzul --progress -e ssh "$DEFAULT_SSH:$REMOTE_DIRECTORY" "$LOCAL_DIRECTORY"
我在其他地方看到过,你可以使用--chmod
选项来指定权限,但我只是不明白这个参数的语法!也许我很笨?
我想默认将文件 chmod 为644
并将目录 chmod 为755
。希望您能帮助我。
非常感谢!
答案1
好的,我已经想出该怎么做了!在提出这个问题之前,我已经挖掘了一段时间,并且继续挖掘。我寻找的论据是 -
--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
解释一下,这基本上意味着:
Du = 目录所有者 ( Read, write, execute
)
Dg = 目录组 ( Read, execute
)
执行 = 目录用户 (全部) ( Read, execute
)
Fu = 文件所有者(Read, write
)
Fg = 文件组 ( Read
)
Fo = 文件用户(全部) ( Read
)
所以就我而言,我赋予了目录755
权限和文件644
权限。
我找到了如何做到这一点的方法 -http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions