Jak ustawić uprawnienia do plików / folderów przy użyciu Rsync z Windows na Linux

11

Chcę przenieść wiele plików / folderów z systemu Windows do systemu Linux za pomocą programu Rsync. Na serwerze linux (docelowym) chcę ustawić uprawnienia do plików na 644, a uprawnienia do folderów na 755. Jeśli to możliwe, chcę, aby własność była ustawiona na root.root dla wszystkich plików / folderów. Próbowałem opcji -p, ale to nie działa. Dziękuję za wszelką pomoc.

garconcn
źródło
Wypróbuj umask 022przed kopią.
BillThor,

Odpowiedzi:

23

Możesz ustawić perms używając --chmodparametru np

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

wymusi ustawienie uprawnień na 755 dla Directories i 644 dla Files.

Iain
źródło
Dzięki. Wygląda na to, że folder zmienia się na 744 (drwxr - r--). W każdym razie decyduję się na zmianę pozwolenia po przeniesieniu.
garconcn
7
--chmodAkceptuje również ósemkowe numerów trybów, które moim zdaniem łatwiej jest wyobrazić sobie zgodę podane:--chmod=D2775,F664
Fred Wuerges
Możesz także użyć --chmod o=rX, aby automatycznie nadać folderom xflagę, ale pomiń ją w plikach.
hachre
Czy ty też musisz to określić --perms?
OrangeDog,
9

Wspomniana powyżej składnia argumentu --chmod nie jest całkiem dokładna. Jeśli określisz właściciela, grupę lub inną i nie poprzedzisz go literą „D” lub „F”, zastosuje to do wszystkich typów plików i zastosuje ostatni parametr, który znajdzie jako domyślny. To by wyjaśniało, dlaczego twoje katalogi wychodziły jako 744, ponieważ ostatnim parametrem w argumencie było og = r.

Spróbuj zamiast tego:

--chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r
Ned W.
źródło