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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.