Jak ustawić uprawnienia docelowe za pomocą rsync (chown chmod)

13

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

Roger Creasy
źródło
Czy docelowy system plików przypomina NTFS, ponieważ jest to „Drive_D”?
Sami Kuhmonen,
docelowym systemem plików jest ext4
Roger Creasy
Czy dodanie -p pomaga?
Sami Kuhmonen,
-p powoduje, że chmod na przeniesionych plikach działa. Muszę jednak przetestować, aby upewnić się, że nie zastąpi uprawnień do żadnych istniejących plików. Dzięki. I nadal mam problem z chownem
Roger Creasy,
1
Do tego naprawdę potrzebujesz - myślę, że
Sami Kuhmonen,

Odpowiedzi:

19

rsync musi zostać poinformowany, że chcesz ustawić uprawnienia i informacje o właścicielu / grupie. Logiczne byłoby założenie, że to ma --chmodlub --chownpowiedziałoby to, ale tego nie robią.

Aby propagować uprawnienia, potrzebujesz flagi --permslub, -pa właściciela / grupy potrzebujesz --owner --grouplub -ogflagi 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.

Sami Kuhmonen
źródło
wciąż nie jest jasne, ponieważ działając jako sudo, co muszę zrobić, docs linux.die.net/man/1/rsync wskazują, że można ustawić miejsce docelowe tylko tak samo jak źródło. Problem polega na tym, że muszę ustawić to, czym jest zalogowany użytkownik, np.$(whoami)
Brian Thomas
2

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=rzamiast formatu „D755, F644”.

FarFetchd
źródło