2017-05-05 4 views
0

SSH (소스 : macOS 10.11.6 -> 대상 : macOS 10.12.4)를 통해 두 대의 컴퓨터간에 rsync를 수행하려고하며 모든 맥 특정 속성뿐만 아니라 권한 및 소유권.-s와 함께 rsync가 sudo로 실행되면 파일 소유권이 보존되지 않습니다.

필자는 patch, fileflags, crtimes 및 hfs-compression을 사용하여 두 시스템에서 소스로부터 최신 rsync (3.1.2)를 빌드하고 설치했습니다.

내가 대상 컴퓨터의/etc /의 sudoers 수정 및 추가 : 이름 ALL = (ALL) NOPASSWD를 : ALL 이것은 sudo를 사용시 암호를 요구하고 있지 않다으로 잘 작동 것 같다. 파일에서 POSIX 소유자를 가지고 '

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 

결과를 정확한 동기화 옆에서 : 는 (나는 단지 rsync를 명령에이를 제한 할 수 있습니다 알고 있지만 디버깅하는 동안 나는 모든 여기에 사용하고 있습니다) 실행

ssh_user '를 사용합니다.

간단한

rsync -av --rsync-path="sudo /usr/local/bin/rsync" /path/to/src [email protected]_of_dest:/path/to/dst 

또한 소유권을 수정하고 rsync를 상기 대상 시스템에 sudo를 사용하여 실행 당겨 동일한 결과를 제공한다.

그래서 내가 무엇을 놓치고 있습니까? 목적지에 대한 충분한 권리가 있어야합니까? 경우 누군가의 미래를 참조 나는이에 대한 답을 발견했다 생각보다 디버깅 후 비슷한 경험

을 가지고이 응답

답변

0

해야합니다. rsync가 예상대로 수행되고 있지만 문제는 ssh_user와 file_owner가 실제로 모두 동일한 UID를 가졌습니다. 대상 컴퓨터에있는 파일을 나열하면 ssh_user에 속하는 것으로 보이는이 파일과 같이 심각하게 혼란스러워합니다. --numeric-ids를 사용하고 원본 컴퓨터로 파일을 복원하면 예상 한 결과가 나타납니다.