저는 MacOS를 사용하고 있으며 --perms 플래그를 사용하면 로깅이 나타나지 않습니다 rsync -h
. 이 플래그는 어떤 차이를 가져오는가 rsync --perms
? 아마도 파일 권한을 유지하지만 rsync가 기본적으로 이를 수행하지 않는 이유는 무엇입니까?
답변1
이 rsync -h
옵션은 완전한 권위 있는 문서가 아닌 요약입니다.
man -P 'less -p --perms$' rsync
MacOS의 기본 rsync에서 실행해 보니 자세한 내용을 알 수 있었습니다. rsync --perms
설정한 대상 권한에 소스 권한을 복사합니다.
매뉴얼에서:
요약: 대상 파일(이전 및 신규)에 대한 소스 권한을 제공하려면 --perms를 사용하십시오. 새 파일에 대상 기본 권한을 부여하려면(기존 파일은 변경하지 않은 채) --perms 옵션이 꺼져 있는지 확인하고 --chmod=ugo=rwX를 사용하십시오(이렇게 하면 모든 마스크 해제 비트가 활성화됩니다).
사용자는 원본 파일의 권한이 대상 파일에 복사되는 것을 원하지 않을 수도 있습니다. 예를 들어 로컬 구성 파일을 원격 서버에 복사하는 경우 원격 서버는 다른 권한 집합을 가질 수 있습니다.
rsync
위의 사용 사례를 지원합니다 --chmod
. 다른 rsync
옵션은 모든 사용자/사용 사례가 대상 파일이 소스 파일과 일치할 것으로 예상한다고 가정할 수 없는 더 많은 사용 사례를 제안합니다 --executability
.--no-perms
차이점은 --perms
대상에 대한 소스 권한이 적용되는 반면 기본 동작(no --perms
)은 관련 디렉터리 및/또는 프로세스의 umask 또는 setgid에 따라 다르다는 것입니다.
조금 더 뒤로 시작하면 동일한 수동 입력이 이루어집니다.
이 옵션을 끄면 권한이 다음과 같이 설정됩니다.
- 기존 파일(업데이트된 파일 포함)은 기존 권한을 유지하지만 실행 가능성 옵션은 파일의 실행 권한만 변경할 수 있습니다.
- 새 파일의 "일반" 권한 비트는 수신측의 umask 설정을 사용하여 마스크된 소스 파일의 권한 비트로 설정되며, 새 디렉터리가 상위 디렉터리에서 setgid 비트를 상속하지 않는 한 특수 권한 비트는 비활성화됩니다.