내 서버에는 여러 사용자가 rsync를 사용하여 데이터를 복사하는 디렉터리가 있습니다. 이러한 옵션은 모든 사용자가 사용할 수 있습니다 -a -h -v
. 모든 사용자는 이 디렉터리에 사용되는 동일한 그룹에 있습니다. 모든 사용자는 NFS를 통해 공유를 마운트하고 "로컬 모드"에서 rsync를 사용합니다. rsync 출력을 동기화하면 몇 가지 오류가 표시됩니다.
rsync: failed to set permissions on <path>: Operation not permitted (1)
rsync를 실행하는 사용자는 이러한 파일에서 발생합니다.아니요소유자. 소유자만 권한을 변경할 수 있으므로 이 동작은 올바른 것입니다. 동기화 시 "실제" 오류를 감지하기 어렵기 때문에 오류가 로그에 게시되는 것을 방지하고 싶습니다. 실행 사용자가 소유자가 아닌 파일에 대해 rsync가 권한을 설정하지 못하도록 방지하는 방법은 무엇입니까?
이 질문은 다음과 유사합니다.사용자가 파일을 소유한 경우에만 rsync를 사용하여 권한을 설정하세요.옵션을 사용하지 않지만 --chmod
이 질문은 기존 파일에만 적용됩니다.
편집 1: 내 해석은 소유자에 따라 다르다는 것입니다. 이 오류를 표시하는 모든 파일은 다른 사람의 소유입니다. 또한 내 컴퓨터에 사용자가 존재하지 않습니다. 따라서 디렉토리를 확인할 때 ls -al
사용자 이름이 아닌 UID만 표시됩니다. 이것이 문제가 될 수 있습니까? UID는 서버와 모든 클라이언트에서 동일합니다.
편집 2: rsync 로컬 모드에 대한 정보 추가
답변1
귀하의 의견에 감사드립니다. 제안된 매개변수를 실험하는 동안 이 오류 메시지의 원인을 발견했습니다. 내 질문에는 이에 대한 결정적인 정보가 포함되어 있지 않으므로 원인을 추측하는 것이 불가능합니다.
모든 디렉토리를 다시 검사한 결과 파일이 동기화되지 않은 것으로 나타났습니다. 오류를 표시하는 파일은 내 로컬 복사본에서 내가 소유하고 있으며 서버에서는 다른 사람이 소유하고 있습니다. 따라서 내 rsync 프로세스는 로컬 복사본의 소유권을 읽고 서버가 사용자 권한을 거부하도록 복사(NFS)하려고 합니다.