chown
나는 이제 루트 권한을 가진 사용자가 아닌 일반 사용자이기 때문에 파일을 유출할 수 없다는 것을 이해합니다 . 이제 내 문제는 쓰기 액세스 권한이 있는 파일이 많이 있지만 루트가 아니라는 것입니다. 그러나 여전히 공간 문제의 영향을 받습니다.
이제 파일을 얻을 수 있지만 zip
압축하는 순간 파일의 소유자는 내가 됩니다. 압축한 후에도 소유자가 내가 아닌 파일을 만든 사람이기를 바랍니다. 이를 수행할 수 있는 방법이 있습니까?
답변1
사용하는 경우 tar
파일의 소유권을 유지합니다. 그러나 tar 파일에서 파일을 추출할 때 루트가 아닌 경우 권한이 없으면 소유권이 복원되지 않습니다.
tar는 압축하지 않고 보관만 한다는 점에 유의하세요.
추가 보너스로 tar
파일 및 디렉터리 권한이 유지됩니다.
도착하다tar를 사용하고 모든 소유권과 권한을 유지하십시오.:
tar cpf ~/myarchive.tar folder_to_archive
(tar는 상대 경로 또는 절대 경로도 저장합니다. 표준 사용자인 경우 tar는 추출 시 현재 폴더를 기준으로 파일을 추출합니다. 그러나 루트이고 절대 경로를 사용하는 경우 tar는 절대 경로를 사용하여 파일을 추출합니다. 기존 파일을 덮어씁니다. 절대 또는 상대 경로의 모든 가능성에 대해 알아보려면 tar 설명서와 튜토리얼을 읽어보세요.
(tar 아카이브를 압축하기 위해 임의의 압축 도구를 사용하도록 선택할 수 있습니다. 예: gzip ~/myarchive.tar
또는 xz ~/myarchive.tar
등)
도착하다파일 추출:
tar --same-owner xpf ~/myarchive.tar
일반 사용자로서 현재 폴더의 파일이 추출되고 권한은 유지되지만 사용자 소유권은 상실되며 그룹에 속하지 않으면 그룹 소유권을 잃을 수 있습니다.
sudo
그러나 모든 권한과 소유권을 올바르게 설정하려면 이 명령을 호출 하거나 충분한 권한이 있는 사용자(일반적으로 루트)로 실행 해야 합니다 .
추신: Linux에서 GNU tar를 사용하는 경우 ACL, xattr 또는 SELinux와 같은 일부 메타데이터를 보존할 수도 있습니다. 하지만 이 데이터도 보관하고 싶다는 사실을 tar에 알리려면 특수 플래그를 사용해야 합니다. 보다GNU tar 문서.