Як встановити дозволи файлу / папки за допомогою Rsync з Windows до Linux


11

Я хочу перенести багато файлів / папок з Windows в Linux за допомогою Rsync. На сервері Linux (призначення) я хочу встановити дозвіл на файл 644, а дозвіл на папку - 755. Якщо можливо, я хочу встановити право власності на root.root для всіх файлів / папок. Я спробував -p варіант, але він не працює. Дякую за будь-яку допомогу.


Спробуйте umask 022перед копією.
BillThor

Відповіді:


23

Ви можете встановити perms за допомогою --chmodпараметра, наприклад

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fog=r 

примусить дозволи встановити 755 для Dіректорій та 644 для Files.


Спасибі. Здається, папка зміниться на 744 (drwxr - r--). У будь-якому разі я вирішую змінити дозвіл після передачі.
garconcn

7
--chmodТакож приймає восьмеричні номера режиму, на мій погляд , легше уявити собі дозвіл Дано:--chmod=D2775,F664
Fred Wuerges

Ви також можете використовувати --chmod o=rXдля того, щоб автоматично надати папкам xпрапор, але опустити його з файлів.
hachre

Вам також потрібно вказати --perms?
OrangeDog

9

Синтаксис аргументу --chmod, згаданий вище, не зовсім точний. Коли ви вкажете власника, групу чи інше і не передуєте йому "D" або "F", він застосує це до всіх типів файлів, і він застосує останній параметр, який він знайде за замовчуванням. Це пояснило б, чому ваші каталоги виходили як 744, оскільки останнім параметром у аргументі був og = r.

Спробуйте це замість цього:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.