[unix] sudo tar는 추출 된 파일 소유권을 알 수없는 사용자로 변경합니다

이 명령을 실행 중입니다.

$ sudo tar xvzf nexus-latest-bundle.tar.gz

추출 된 파일은 알 수없는 (1001) 사용자에게 속합니다.

drwxr-xr-x 8     1001     1001      4096 Dec 16 18:37 nexus-2.12.0-01
drwxr-xr-x 3     1001     1001      4096 Dec 16 18:47 sonatype-work

일반 구성에서 소유자가 루트가 아니어야합니까?

AWS AMI에서 복제 된 Linux 설치 작업 중입니다.



답변

루트로 파일을 추출 할 때 tar는 원래 소유권을 사용합니다. --no-same-owner옵션 (또는 -o) 을 사용하여이를 무시할 수 있습니다 .

tar 파일은 추출한 시스템에 존재하지 않는 사용자 / 그룹을 참조했습니다.

파일을 자신 (권한이없는 사용자) 으로 추출하면 자신이 소유 한 파일 만 만들 수 있습니다.

GNU tar 매뉴얼 은 다음과 같이 말합니다.

--same-owner

아카이브를 추출 할 때 tar는이 옵션이있는 tar 아카이브에 지정된 소유자를 유지하려고 시도합니다. 수퍼 유저의 기본 동작입니다. 이 옵션은 일반 사용자에게만 적용됩니다. 파일 속성 처리 섹션을 참조하십시오 .


답변

tar 파일을 작성한 사람의 유효 사용자 ID 및 그룹 ID (UID : GID)는 1001 : 1001입니다. 때문에 tar, 기본적으로 소유권 및 권한을 보존, 당신이 그것을 확장 할 때, 당신은이 값을 상속합니다. 시스템에 UID : GID 1001 : 1001 사용자가있는 경우 해당 파일은 해당 사용자가 소유 한 것입니다.


답변