Erro “rsync: falha ao definir permissões em…” com a opção rsync -a ou -p

37

Quando uso a opção -a, conforme solicitado e respondido em Preservar as permissões com o rsync , recebi muitos erros "rsync: falha ao definir permissões".

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 ...

Por que é isso? Os arquivos são arquivos normais com permissão 0664.

prosseek
fonte
Você pode nos fornecer a saída ls -al para alguns dos arquivos afetados?
Pdo

Respostas:

28

Provavelmente, o rsync no destino não está sendo executado como um usuário com permissão para chmodesses arquivos (que teriam que ser o proprietário ou raiz do arquivo).

cjm
fonte
Aconteceu que os arquivos pertencem a _www. Alterar o proprietário resolveu esse problema. Obrigado pela ajuda.
prosseek
2
Note-se que você receberá esse erro, mesmo que o usuário do rsync esteja no mesmo grupo dos arquivos. Para corrigir esse erro, os arquivos devem pertencer ao mesmo usuário que o rsync, não apenas ao grupo.
Cerin
34

Este erro ocorre porque a operação para alterar as permissões não é permitida. Portanto, verifique se o usuário que está executando os comandos tem as permissões corretas (por exemplo, ele não é o proprietário) ou se o seu sistema de arquivos não suporta.

Você pode ignorar os avisos especificando os argumentos adicionais para rsync --no-permse -O( --omit-dir-times) para evitar tentar definir permissões e tempos de modificação em arquivos / diretórios. Isso deve resolver os erros. Como alternativa, evite usar -a.

kenorb
fonte
6

Como já foi dito, o problema ocorre sempre que você não tem permissão para alterar as permissões de arquivo no destino de rsync. No entanto, você pode evitar essa mensagem de erro usando os dois argumentos adicionais --no-oe --no-g.

Exemplo:

rsync -ahv --no-o --no-g target/ destination/
KittMedia
fonte
4
--no-ownere --no-groupnão controla permissões. Você gostaria --no-permsdisso. Se você quiser evitar tentar mudar de propriedade, provavelmente precisará das três bandeiras.
roaima
1

fundo

Normalmente, rsyncvocê verá avisos se:

  • o rsyncservidor na outra extremidade não possui permissões para executar uma ação associada ao seguinte:
    • proprietário
    • grupo
    • permissões
    • tempos de acesso
  • ou o sistema de arquivos no lado remoto não suporta os mesmos tipos de metadados que o remetente (permissões, propriedade etc.)

Esses problemas se manifestam através do rsynccliente que está tentando se comunicar com o rsyncservidor, aparecendo como mensagens como esta ao tentar copiar arquivos / diretórios para um destinatário:

proprietário

rsync: chown "/ mnt / music / The Fleetwood Mac / Trilogy - 2006 / Trilogy - 2006 - CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3" falhou: Operação não permitida (1)

grupo

rsync: chgrp "/ mnt / music / A discografia do Fleetwood Mac por Sketch / Trilogy - 2006 / Trilogy - 2006 - CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3" falhou: Operação não permitida (1)

permissões

rsync: falha ao definir permissões em "/ mnt / music / The Fleetwood Mac Discography por Sketch / Trilogy - 2006 / Trilogy - 2006 - CD 3": operação não permitida (1)

Nos casos em que o lado receptor não pode executar essas operações, você pode instruir rsyncpara simplesmente ignorar a tentativa de realizá-las, percebendo que o destino não será estritamente idêntico aos metadados do remetente em torno dos arquivos. Isso ainda criará cópias idênticas das partes binárias dos arquivos e diretórios.

Para dizer rsyncpara não se preocupar com os metadados, você pode usar o --no-OPTIONpara desativar qualquer uma dessas opções implícitas.

página de manual 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).

Portanto, no nosso caso, queremos usar algo assim para desativar as coisas:

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

Exemplo

$ 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

Alternativo

Outra razão pela qual isso está acontecendo é por causa do uso do -acomutador. -ainclui uma família de switches:

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

Em vez de usar, -avocê pode usar os switches individuais e deixar de usar os --no-OPTION.

Estas são as opções individuais incluídas no -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

Fazendo as coisas dessa maneira, o exemplo acima se tornaria isso:

$ 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
slm
fonte