tar 파일에 대한 권한을 변경하면 해당 파일에 포함된 파일에도 적용됩니까?

tar 파일에 대한 권한을 변경하면 해당 파일에 포함된 파일에도 적용됩니까?

백업 디렉터리용 파일을 cron생성하는 스크립트를 주기적으로 실행합니다 .tar.gz

제가 통제할 수 없는 이유로 스크립트를 실행할 수 있는 유일한 사용자 cron는 루트입니다. 따라서 tar다른 사용자는 생성된 파일을 이동하거나 삭제할 수 없습니다.

chown따라서 스크립트의 일부로 다른 사용자가 파일을 조작할 수 있도록 파일에 대해 및를 수행하고 싶습니다 .chmodtar

하지만 tar파일의 권한을 변경하는 것만으로도 충분합니까, 아니면 루트 사용자 권한이 의 파일에도 저장됩니까 tar? 사용자가 파일의 압축을 풀면 tar마치 파일을 직접 만든 것처럼 작업할 수 있습니까?

답변1

추출된 사용자가 "일반" 사용자인 경우 파일은 해당 사용자가 소유하게 됩니다(기본적으로).

tar의 맨페이지

--same-owner
       try extracting files with the same ownership as exists in the archive (default for superuser)

--no-same-owner
       extract files as yourself (default for ordinary users)

답변2

짧은 답변:아니요.

tar유틸리티는 UNIX 유사 시스템에서 디렉토리 구조를 보관하기 위해 설계되었습니다. 포함된 파일/디렉토리에 대한 모든 소유권 및 권한 정보를 유지합니다. 명령 을 실행하는 사용자와 관계없이 tar.

적어도 표준 통화의 경우는 그렇습니다. 하지만 tar권한 처리를 변경할 수 있는 고급 옵션을 수행한다면 이 질문을 하지 않을 것이라고 생각합니다 . :)

1한 가지 예외: General은 tarSELinux 설정이나 ACL을 유지하지 않습니다. 이 콘텐츠를 유지 star하려면 최신 버전이 필요합니다 . tar당신은 또한 볼 수 있습니다http://magazine.redhat.com/2007/07/02/tips-from-an-rhce-tar-vs-star-the-battle-of-xattrs/. 백업 중인 파일에 확장된 속성이 있는 경우 이를 고려할 수 있습니다.

관련 정보