소스 파일에는 다음 권한이 있습니다.jim:jim
원본 대상 파일에는 다음 권한이 있습니다.www-data:www-data
내 명령:rsync -Pav --no-p --no-o --no-g file ubuntu@ip_address:/path/file
그러나 대상 파일은 ubuntu:ubuntu
다음과 같이 됩니다.www-data:www-data
그러나 원본 파일과 대상 파일이 다른 경우에도 권한은 유지됩니다. 무엇이 문제일까요?
노트: rsync는 MacOS에서 Ubuntu로 수행됩니다. 이것이 관련성이 있는지 확실하지 않습니다.
감사해요.
답변1
귀하의 대상 사용자 계정에는 ubuntu
자신이 소유한 파일을 생성할 수 있는 권한이 없으므로 www-data
원하는 효과를 얻을 수 없습니다.
대상 사용자 이름 www-data
또는 을 사용 root
하거나, 백업 전용인 경우 -M--fake-super
명령에 추가하는 것을 고려하십시오.
답변2
당신은 그것을 유지하고 싶다고 말했지만 그것을 끄는 것을 www-data:www-data
지정했습니다 :--no-o --no-g
--owner, -o
This option causes rsync to set the owner of the destination file to
be the same as the source file, but only if the receiving rsync is
being run as the super-user (see also the --super and --fake-super
options). Without this option, the owner of new and/or transferred
files are set to the invoking user on the receiving side.
(단체도 마찬가지)
이 작업을 수행하려면 원격 호스트에서도 루트여야 합니다. 다음 명령을 사용하여 이 작업을 수행할 수 있습니다( sudo
원격 시스템에서 사용 하는 경우 NOPASSWD
).
rsync -Pav --rsync-path="sudo rsync" file ubuntu@ip_address:/path/file