我試圖通過SSH在兩臺計算機之間執行rsync(來源:macOS 10.11.6 - > Dest:macOS 10.12.4)並且希望保留所有特定於mac的屬性以及權限和所有權。rsync與-a執行爲sudo不保留文件所有權
我已經在兩臺機器上使用補丁,fileflags,crtimes和hfs-compression在源碼上構建並安裝了最新的rsync(3.1.2)。
我已經修改了目標計算機上的/ etc/sudoers文件中還說: 用戶名ALL =(ALL)NOPASSWD:ALL 這似乎工作細如使用sudo時,我沒有要求密碼。 (我知道我可以限制這只是rsync命令,但在調試過程中,我使用所有在這裏)
執行:
rsync -avNHAXEx --safe-links --fileflags --protect-decmpfs --force-change -- progress --delete --rsync-path="sudo /usr/local/bin/rsync" --progress /path/to/src [email protected]_of_dest:/path/to/dst
導致正確的同步除了這些文件有Posix的所有者ssh_user'而不是目標機器上的原始所有者。
簡單
rsync -av --rsync-path="sudo /usr/local/bin/rsync" /path/to/src [email protected]_of_dest:/path/to/dst
也改變了所有權和rsync拉與目標計算機上執行sudo的給出了相同的結果。
那麼,我在這裏錯過了什麼?不應該 - 目標上的超級權利足夠了嗎?