Я пытаюсь выполнить локальный rsync, от точки монтирования до локальной папки. Мне нужно установить владельца, группу и разрешения для определенных настроек. Вот что я использую:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Я получаю разрешения 760 как для каталогов, так и для файлов, а также root: root при владении (rsync запускается как root).
Что я делаю не так?
TIA
Необходимо сообщить rsync, что вы хотите установить разрешения и информацию о владельце / группе. Логично предположить, что имея --chmod
или --chown
сказал бы это, но они этого не делают.
Для разрешения на распространение вам понадобится --perms
или -p
флаг и для владельца / группы вам нужно --owner --group
или -og
флаги для установки информации о владельце / группе / разрешениях.
Документация написана немного нечетко, поэтому неясно, как обрабатываются разрешения с различными комбинациями или затронуты ли существующие файлы.
я нашел эта версия StackOverflow того же вопроса чтобы быть более полезным, потому что кажется, что у нас с Роджером есть rsync с разными предпочтениями для формата --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".