Próbuję zrobić lokalny rsync, od punktu montowania do lokalnego folderu. Muszę ustawić właściciela, grupę i uprawnienia do określonych ustawień. Oto czego używam:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Kończę z uprawnieniami 760 zarówno do katalogów, jak i plików, a root: root na własność (rsync jest uruchamiany jako root).
Co ja robię źle?
TIA
Odpowiedzi:
rsync musi zostać poinformowany, że chcesz ustawić uprawnienia i informacje o właścicielu / grupie. Logiczne byłoby założenie, że to ma
--chmod
lub--chown
powiedziałoby to, ale tego nie robią.Aby propagować uprawnienia, potrzebujesz flagi
--perms
lub,-p
a właściciela / grupy potrzebujesz--owner --group
lub-og
flagi do ustawienia właściciela / grupy / uprawnień.Dokumentacja jest nieco niejasno napisana, więc nie jest jasne, w jaki sposób obsługiwane są uprawnienia z różnymi kombinacjami lub czy wpływają na istniejące pliki.
źródło
$(whoami)
Uważam, że ta wersja StackOverflow tego samego pytania jest bardziej pomocna, ponieważ wydaje się, że Roger i mam rsyncs z różnymi preferencjami dla formatu
--chmod
(moje to 3.1.3 z pakietu Debiana).Jak powiedział Sami, rsync musi zostać powiadomiony o „uprawnieniach”, więc albo włącz
-p
, albo w sposób domyślny dołącz to przy użyciu-a
. Ale aby faktycznie uruchomić polecenie, potrzebujesz (np. Dla katalogów 755 i plików 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
zamiast formatu „D755, F644”.źródło