«Rsync: не удалось установить разрешения для…» с опцией rsync -a или -p


38

Когда я использую опцию -a, как спрашивают и отвечают в « Сохранять разрешения с помощью rsync» , я получаю много ошибок «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

Ответы:


28

Скорее всего, rsync на конечной стороне не работает как пользователь с правами доступа к chmodэтим файлам (который должен быть либо владельцем файла, либо пользователем root).


Просто так получилось, что файлы принадлежат _www. Смена владельца решила эту проблему. Спасибо за помощь.
prosseek

2
Следует отметить, что вы получите эту ошибку, даже если пользователь rsync находится в одной группе с файлами. Чтобы исправить эту ошибку, файлы должны принадлежать тому же пользователю, что и rsync, а не только группе.
Серин

35

Эта ошибка происходит, потому что операция по изменению разрешений не разрешена. Поэтому либо проверьте, имеют ли пользователь, выполняющий команды, правильные разрешения (например, он не владелец), либо ваша файловая система не поддерживает его.

Вы можете игнорировать предупреждения, указав дополнительные аргументы для rsync для --no-permsand -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за это. Если вы хотите избежать попыток сменить владельца, вам, вероятно, понадобятся все три флага.
Роайма

1

Задний план

Как правило, rsyncвы увидите предупреждения, если либо:

  • rsyncсервер на другом конце не имеет разрешения на выполнение действия , связанное со следующим:
    • владелец
    • группа
    • разрешений
    • время доступа
  • или файловая система на удаленной стороне не поддерживает метаданные того же типа, что и отправитель (разрешения, владелец и т. д.)

Эти проблемы проявятся через rsyncклиента, который пытается связаться с rsyncсервером, который отображается в виде сообщений, подобных этому, при попытке скопировать файлы / каталоги получателю:

владелец

rsync: chown "/ mnt / music / The Fleetwood Mac / Трилогия - 2006 / Трилогия - 2006 - CD 3 / 311_fleetwood_mac _-_ eyes_of_the_world.mp3" не удалось: операция не разрешена (1)

группа

rsync: chgrp "/ mnt / music / Дискография Fleetwood Mac от 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 man page
--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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.