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


13

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

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

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

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

티아


대상 파일 시스템은 "Drive_D"이므로 NTFS와 같은 것입니까?
Sami Kuhmonen

대상 파일 시스템은 ext4
Roger Creasy

-p를 추가하면 도움이됩니까?
Sami Kuhmonen

-p는 이동 된 파일에서 chmod를 작동시킵니다. 그래도 기존 파일에 대한 권한을 덮어 쓰지 않는지 테스트해야합니다. 감사. 그리고 나는 여전히 chown 문제를 가지고 있습니다
Roger Creasy

1
그러기 위해서는 실제로 당신이 필요하다고 생각합니다
Sami Kuhmonen

답변:


19

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

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

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


sudo로 실행했기 때문에 여전히 명확하지 않습니다 .docs linux.die.net/man/1/rsync 는 대상을 소스와 동일하게 설정할 수 있다고 지적합니다. 문제는, 예를 들어 로깅 된 사용자의 상태로 설정해야한다는 것입니다.$(whoami)
Brian Thomas

2

내가 발견 같은 질문의 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) 필요 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.