使用rsync -a或-p选项时出现“ rsync:无法对...设置权限”错误


37

当我按使用rsync保留权限中的要求使用-a选项时,出现了很多“ rsync:设置权限失败”错误。

rsync: failed to set permissions on "/ata/text/RCS/jvlc,v": Operation not permitted (1)
rsync: failed to set permissions on "/ata/text/RCS/jvm,v": Operation not permitted (1)
rsync: failed to set permissions on ...

为什么是这样?这些文件是普通文件,权限为0664。


您能否为某些受影响的文件提供ls -al输出?
pdo

Answers:


28

最有可能的是,目标端的rsync并未以具有chmod这些文件许可权的用户身份运行(该用户必须是文件的所有者或根用户)。


碰巧这些文件归_www所有。更改所有者可以解决此问题。谢谢您的帮助。
prosseek 2011年

2
请注意,即使rsync的用户与文件位于同一组,您也会收到此错误。要解决此错误,文件必须与rsync属于同一用户,而不仅仅是组。
塞林2015年

34

发生此错误,因为不允许更改权限的操作。因此,请检查您执行命令的用户是否具有正确的权限(例如,他不是所有者),或者您的文件系统不支持它。

您可以通过指定其他参数来rsync的忽略警告--no-perms-O--omit-dir-times),以避免试图设置权限和修改时间的文件/目录。这应该解决错误。或者,避免使用-a


6

如前所述,只要您无权在的目标位置更改文件权限,就会发生此问题rsync。但是,可以通过使用两个附加参数--no-o和来避免出现此错误消息--no-g

例:

rsync -ahv --no-o --no-g target/ destination/

4
--no-owner并且--no-group不控制权限。你想要--no-perms的。如果要避免尝试更改所有权,则可能需要全部三个标记。
roaima

1

背景

通常,rsync如果出现以下情况,您将看到警告:

  • rsync另一端的服务器不具有执行与以下内容关联的操作的权限:
    • 所有者
    • 权限
    • 访问时间
  • 或远程端的文件系统不支持与发送方相同类型的元数据(权限,所有权等)

当尝试将文件/目录复制到接收方时,这些问题将通过rsync尝试与rsync服务器进行通信的客户端来表现出来,如下所示:

所有者

rsync:chown“ / mnt / music / The Fleetwood Mac / Trilogy-2006 / Trilogy-2006-CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3”失败:不允许的操作(1)

rsync:chgrp“ / mnt / music / The Fleetwood Mac Discography by Sketch / Trilogy-2006 / Trilogy-2006-CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3”失败:不允许的操作(1)

权限

rsync:无法设置“ / mnt / music / The Fleetwood Mac Discography by Sketch / Trilogy-2006 / Trilogy-2006-CD 3”的权限:不允许进行操作(1)

在接收方无法执行这些操作的情况下,您可以指示rsync仅跳过尝试执行这些操作,从而意识到目的地与文件周围发件人的元数据并不完全相同。这仍将创建文件和目录的二进制部分的相同副本。

要告诉您rsync不要担心元数据,您可以使用--no-OPTION禁用任何这些隐含选项。

rsync手册页
--no-OPTION
      You  may  turn off one or more implied options by prefixing the option name
      with “no-”.  Not all options may be prefixed with a “no-”: only options that
      are  implied  by  other  options (e.g.  --no-D,  --no-perms)  or  have
      different  defaults  in  various  circumstances (e.g.  --no-whole-file,
      --no-blocking-io, --no-dirs).  You may specify either the short or the long
      option name after the “no-” prefix (e.g. --no-R is the same as --no-relative).

      For  example: if you want to use -a (--archive) but don’t want -o (--owner),
      instead of converting -a into -rlptgD, you could specify -a --no-o (or -a
      --no-owner).

      The order of the options is important:  if you specify --no-r -a, the -r
      option would end up being  turned  on,  the  opposite  of  -a  --no-r.
      Note  also that the side-effects of the --files-from option are NOT positional,
      as it affects the default state of  several  options and slightly changes the
      meaning of -a (see the --files-from option for more details).

因此,在我们的案例中,我们想使用类似这样的功能来禁用这些功能:

$ rsync -avz --no-o --no-g --no-perms <src> <dst>

$ rsync -avz --delete --no-o --no-g --no-perms The\ Fleetwood\ Mac/ /mnt/music/The\ Fleetwood\ Mac/.
sending incremental file list
Trilogy - 2006/
Trilogy - 2006/Trilogy - 2006 - CD 3/
Trilogy - 2006/Trilogy - 2006 - CD 3/301_fleetwood_mac_-_love_in_store.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/302_fleetwood_mac_-_cant_go_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/303_fleetwood_mac_-_thats_alright.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/304_fleetwood_mac_-_book_of_love.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/305_fleetwood_mac_-_gypsy.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/306_fleetwood_mac_-_only_over_you.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/307_fleetwood_mac_-_empire_state.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/308_fleetwood_mac_-_straight_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/309_fleetwood_mac_-_hold_me.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/310_fleetwood_mac_-_oh_diane.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/311_fleetwood_mac_-_eyes_of_the_world.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/312_fleetwood_mac_-_wish_you_were_here.mp3

sent 61993245 bytes  received 289 bytes  17712438.29 bytes/sec
total size is 2596551439  speedup is 41.88

另类

发生这种情况的另一个原因是由于使用了-a开关。-a包括一系列开关:

    -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

-a您可以使用单个开关来代替使用,而不必使用--no-OPTION

这些是随附的单个选项 -a
    -r, --recursive             recurse into directories
    -l, --links                 copy symlinks as symlinks
    -p, --perms                 preserve permissions
    -t, --times                 preserve modification times
    -o, --owner                 preserve owner (super-user only)
    -g, --group                 preserve group
    -D                          same as --devices --specials
        --devices               preserve device files (super-user only)
        --specials              preserve special files

这样,上面的示例将变成这样:

$ rsync -rltDvz --delete The\ Fleetwood\ Mac/ /mnt/music/The\ Fleetwood\ Mac/.
sending incremental file list
Trilogy - 2006/
Trilogy - 2006/Trilogy - 2006 - CD 3/
Trilogy - 2006/Trilogy - 2006 - CD 3/301_fleetwood_mac_-_love_in_store.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/302_fleetwood_mac_-_cant_go_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/303_fleetwood_mac_-_thats_alright.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/304_fleetwood_mac_-_book_of_love.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/305_fleetwood_mac_-_gypsy.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/306_fleetwood_mac_-_only_over_you.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/307_fleetwood_mac_-_empire_state.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/308_fleetwood_mac_-_straight_back.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/309_fleetwood_mac_-_hold_me.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/310_fleetwood_mac_-_oh_diane.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/311_fleetwood_mac_-_eyes_of_the_world.mp3
Trilogy - 2006/Trilogy - 2006 - CD 3/312_fleetwood_mac_-_wish_you_were_here.mp3

sent 61993245 bytes  received 289 bytes  17712438.29 bytes/sec
total size is 2596551439  speedup is 41.88
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.