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


10

이 명령을 실행 중입니다.

$ 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 설치 작업 중입니다.

답변:


15

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

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

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

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

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


1
sudo없이 명령을 실행하면 'tar xzvf nexus-latest-bundle.tar.gz'인 경우 소유권이 현재 사용자로 설정되므로 예상되는 동작입니까?
raspacorp

2
@raspacorp : 루트가 아닌 사용자는 자신 이외의 소유권을 가진 파일을 작성할 권한이 없습니다. 따라서 필요에 따라 파일이 소유자로 생성됩니다.
Nate Eldredge

1

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.