Назад | Перейти на главную страницу

Как установить разрешения назначения с помощью rsync (chown chmod)

Я пытаюсь выполнить локальный 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".