답변:
tar
UID 및 GID를 기반으로하는 권한이 아니라 연관된 문자열이 아닌 권한을 기록합니다. 따라서 한 서버의 UID가 3300이고 'bob'에 링크 된 경우 새 서버에서 파일은 UID 3300을 가진 사용자가 소유합니다.
UNIX의 가상 모든 것 (모든 것을 말하고 싶지만 100 % 확신 할 수는 없습니다)은 실제로 파일 시스템 수준에서 저장되기 때문에 UID : GID 값을 사용합니다. 이름은 passwd 파일에서 단순한 조회이며 기본 검사는 숫자 값을 사용하여 수행됩니다.
tar
않는 기록 소유자 이름을.
이전 답변을 요약하고 중요한 정보를 추가하십시오.
아카이브를 생성 할 때, tar
항상 파일 '사용자 및 그룹 ID를 보존 할 않는 과 다른 말했다 --owner=NAME
, --group=NAME
. 그러나 여전히 각 파일과 관련된 사용자 및 그룹이 있습니다.
GNU 타르, 그리고 아마도 다른 버전은 tar
, 또한 사용자 및 그룹 저장 이름을 제외하고, --numeric-owner
사용된다. bsdtar는 기본적으로 사용자 및 그룹 이름을 저장하지만 bsdtar 3.0까지는 생성--numeric-owner
시 옵션에 대한 지원이 나타나지 않았습니다 (bsdtar 는 훨씬 더 오랫동안 추출 할 때 옵션을 지원함 ).
일반 사용자 로 추출 할 때 모든 파일은 항상 사용자가 소유합니다. 파일을 추출하는 것이 파일 시스템에서 새 파일을 생성하므로 일반 사용자는 파일을 생성하고 다른 사람에게 소유권을 부여 할 수 없으므로 다르지 않습니다.
로 추출 할 때 루트 , tar
기본적으로 추출 된 파일의 소유권을 복원 하지 않는 한 --no-same-owner
사용되는 자신의 루트 소유권을 줄 것이다.
GNU 타르, bsdtar, 그리고 아마도 다른 버전으로 tar
복원 소유권은 사용자 (그룹)에 의해 수행되는 이름 정보 아카이브에있는 경우, 그리고 대상 시스템에서 일치하는 사용자가있다. 그렇지 않으면 ID로 복원됩니다. 경우 --numeric-owner
옵션이 제공되며, 사용자 및 그룹 이름은 무시됩니다.
옵션 --no-same-permissions
및 / 또는 --touch
사용 하지 않으면 권한 및 타임 스탬프도 아카이브에 저장되고 기본적으로 복원 됩니다. 사용자가 추출하면 사용되지 않는 한 사용자 umask
가 권한에서 차감--same-permissions
됩니다.
--preserve-permissions
및 --same-permissions
별칭과 같은 기능 등을 가지고-p
이것이 문제를 분명히하는 데 도움이되기를 바랍니다. :)
tar
임의의 이름을 지정할 수 있으며, 과거 에는 현재 시스템에서 무상으로 조회하고 일치하는 것이 없으면 실행을 거부했습니다. --owner
--group
tar
/etc/passwd
--owner
추가 하여 아카이브를 생성하면 어떻게됩니까 --numeric-owner
? 타르는 이러한 경쟁 요구 사항을 어떻게 처리합니까?
--owner
그리고 --numeric-owner
상호 배타적이지 않으며 매우 뚜렷한 목적을 제공합니다. --owner=USERNAME
파일을 보관할 때 파일 및 디렉토리 소유자를 무시 --numeric-owner
하고 사용자 이름, 숫자로만 저장하지는 않습니다.
GNU tar에 --same-owner 옵션을 사용하십시오. http://www.gnu.org/software/tar/manual/html_section/Attributes.html을 참조 하십시오
두 시스템간에 파일을 전송하려는 경우 rsync는 기본적으로 uid 대신 username으로 권한을 설정하고 양쪽 끝에있는 사용자 이름을 확인합니다. 사용자가 시스템 중 하나에 존재하지 않는 경우에만 달리 언급하지 않는 한 사용자를 uid와 함께 복사합니다.