Я пытаюсь выполнить локальную rsync из точки монтирования в локальную папку. Мне нужно установить владельца, группу и права доступа к конкретным настройкам. Вот что я использую:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Я получаю права доступа 760 как для каталогов, так и для файлов, и root: root для владельца (rsync запускается от имени root).
Что я делаю неправильно?
ТИА
Ответы:
rsync нужно сообщить, что вы хотите установить права доступа и информацию о владельце / группе. Было бы логично предположить, что имея
--chmod
или--chown
скажет это, но они этого не делают.Для разрешений на распространение вам нужен флаг
--perms
или,-p
а для владельца / группы вам нужны--owner --group
или-og
флаги для информации о владельце / группе / разрешении.Документация немного неясно написана, поэтому неясно, как обрабатываются разрешения с различными комбинациями или затрагиваются ли существующие файлы.
источник
$(whoami)
Я нашел эту версию StackOverflow с тем же вопросом более полезной, потому что кажется, что у нас с Роджером есть rsyncs с разными настройками формата
--chmod
(у меня 3.1.3 из пакета Debian).Как сказал Сами, rsync нужно сообщить «разрешения», поэтому либо включите
-p
, либо включите его неявным образом с помощью-a
. Но затем, чтобы команда действительно выполнялась, вам нужен (например, для каталогов 755 и файлов 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
, а не формат «D755, F644».источник