rsync (chown chmod)를 사용하여 대상 권한을 설정하는 방법 : rsync

마운트 지점에서 로컬 폴더까지 로컬 rsync를 수행하려고합니다. 소유자, 그룹 및 권한을 특정 설정으로 설정해야합니다. 여기 내가 사용하는 것이 있습니다 :

 rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test

디렉토리와 파일 모두에 대한 권한 760과 소유권에 대한 root : root (rsync는 root로 실행 됨)로 끝납니다.

내가 무엇을 잘못하고 있지?

티아



답변

rsync는 권한 및 소유자 / 그룹 정보를 설정하고 싶다고 알려야합니다. 그것을 가지고 --chmod있거나 --chown말할 것이라고 가정하는 것이 합리적 이지만 그렇지 않습니다.

권한이 전파를 들어 당신이 필요 --perms하거나 -p플래그와 소유자 / 그룹에 대해 당신이 필요 --owner --group하거나 -og설정할 수 소유자 / 그룹 / 권한 정보는 플래그.

설명서가 명확하게 작성되지 않았으므로 권한이 다른 조합으로 처리되거나 기존 파일이 영향을 받는지 확실하지 않습니다.


답변

내가 발견 같은 질문의 StackOverflow의 버전 은 로저 보인다 내가의 형식에 대해 서로 다른 환경과 rsyncs을 가지고 있기 때문에, 더 도움이 될 --chmod(내 데비안 패키지에서 3.1.3이다).

Sami가 말했듯이, rsync는 “permissions”라고 말해야하므로를 포함 -p하거나을 사용하여 암시 적으로 포함시켜야합니다 -a. 그러나 실제로 명령을 실행 --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r하려면 “D755, F644″형식이 아닌 (예 : 디렉토리 755 및 파일 644) 필요 합니다.