동일한 사용자인 me@Home과 me@Work를 사용하는 두 대의 컴퓨터가 있습니다. 나는 보통 회사를 집으로 가져가서(노트북임) LAN을 통해 재동기화함으로써 폴더를 동기화된 상태로 유지합니다. 하지만 이제 더 이상 Work를 집에 가져갈 수 없으므로 대학의 SSH 서버를 사용하여 컴퓨터를 동기화하기 시작했습니다.
me@Work -> my_name@Uni
me@Home <- my_name@Uni
그러나 소유권을 유지해야 하는 파일을 사용하여 Work에서 Uni로 동기화하면 -avuz
파일 소유권이 손실됩니다. 몇 가지 테스트를 해봤는데 문제는 대학의 비교할 수 없는 "나" 사용자인 것 같습니다. 뿐만 아니라, www-data가 소유한 디렉토리는 소유권을 유지하지 않았습니다(Uni에도 그러한 사용자가 없었기 때문에). 이는 여러분이 상상할 수 있듯이 나에게 약간의 문제를 일으켰습니다. Uni에 대한 루트 액세스 권한이 없고 사용자 이름을 변경할 수 없습니다. 어쨌든 SSH 서버를 직접 설정하거나 작업을 집으로 가져가지 않고도 이 작업을 수행할 수 있습니까?
답변1
rsync
대상 시스템에서 루트가 아닌 사용자가 이를 실행하는 경우 슈퍼유저만이 다른 사람이 소유한 파일을 생성할 수 있으므로 소유권이 보존될 수 없습니다. 중간 시스템에서 rsync
파일 생성을 사용하는 대신. tar
그런 다음 최종 대상 시스템에서 복원할 때 루트로 이 작업을 수행하여 파일의 원래 소유권을 부여할 수 있습니다.
답변2
소유권은 유지되지만 두 환경 모두에 동일한 사용자가 없을 수도 있습니다. 두 서버 모두에서 예제 사용자 www-data의 사용자 ID를 확인하고 비교합니다.
다른 이름이 보일 수 있지만 ID는 동일합니다.