답변:
옵션 find
과 함께 명령을 사용하십시오 -user
. 다음과 같은 것 :
find / -user john
결국 "john"사용자가 소유 한 모든 파일이 나타납니다.
소유권을 변경하려면 ( find
원하는 목록이 있는지 확인하기 위해 실행하지 않고 실행하십시오) 다음과 같습니다.
find / -user john -exec chown harry {} \;
할 것입니다.
이것은 늦었지만 오늘 rsync
은 --usermap
옵션 이 없기 때문에이 질문을 우연히 발견했습니다 .
내 chown
(v. chown (GNU coreutils) 8.13)은 내장 재귀 ( -R
) 및 --from
옵션을 제공하므로 (및 내) 문제를 사용하여 해결할 수도 있습니다.
chown -R --from=john harry /
wwwrun (id:30)
와 그룹 www (id:8)
을 데비안 www-data (id: 33)
으로 사용하십시오. 사용하여 파일을 복사 한 후
rsync -az /path/to/files me@debian:/path/to/
나는 사용했다
chown -R --from=30 33 /path/to/files/
chown -R --from=:8 :33 /path/to/files/
대상 (데비안) 머신에서.
참고 : rsync version 3.1.0 protocol version 31
위에서 언급 --usermap
했으므로 소스 시스템에서 하나의 명령으로 세 단계를 모두 수행 할 수 있다면 다음과 같습니다.
rsync -az --usermap=30:33 --groupmap=8:33 /path/to/files root@debian:/path/to/
find -exec
나를 위해 하나 라이너는 수동으로 일을하기 전에, 최후의 수단이다. (또한, 나는 쓰기를 싫어 {} \;
하지만, 이것은 개인적인)
chown harry:harry
하고 그룹 멤버쉽이 올바른지 확인 해야하는 경우 실행 합니다. 그러나 이것은 응용 프로그램에 따라 크게 다릅니다.