루트에 속한 644개의 파일을 사용자가 압축할 수 있는데 압축된 파일은 사용자에게 속한 이유는 무엇입니까?

루트에 속한 644개의 파일을 사용자가 압축할 수 있는데 압축된 파일은 사용자에게 속한 이유는 무엇입니까?

루트에 속한 tar.gz 파일은 그룹 및 일반인이 읽을 수 있으므로 사용자가 압축할 수 있습니다. 그러나 gunzip 이후 tar 파일의 소유자는 루트가 아닌 사용자입니다. 이것이 gunzip 프로그램의 기능입니까? 아니면 다른 메커니즘이 있나요?

답변1

Linux를 포함한 대부분의 최신 운영 체제에는 파일을 삭제하는 작업이 없습니다. 디렉터리에서 파일을 제거하는 작업("링크 해제"라고 함)이 있지만 이는 파일이 아닌 디렉터리에 대한 작업입니다. 따라서 디렉터리를 수정할 수 있으면 해당 디렉터리에서 파일을 삭제하거나 디렉터리에 파일을 추가할 수 있습니다(액세스할 수 있는 새 파일 또는 기존 파일).

파일 시스템은 더 이상 사용되지 않는 파일을 자동으로 삭제합니다. 단일 파일을 여러 디렉터리에 추가할 수도 있습니다. 이 경우 모든 디렉터리에서 제거되고 더 이상 프로세스에서 사용되지 않는 경우에만 파일을 제거할 수 있습니다.

답변2

David의 답변은 매우 훌륭하지만 내 5센트는 다음과 같습니다.

파일의 압축을 풀려면 다음 권한이 필요합니다.

  • 입력 파일을 읽는 기능.
  • 출력 파일을 생성하는 기능.
  • 또는 chown파일을 출력 할 수도 있습니다.

일반 사용자이므로 chown루트에 보관할 수 없습니다. 따라서 압축이 풀린 파일은 사용자의 소유입니다.

관련 정보