압축 시 권한 유지

압축 시 권한 유지

압축 폴더로 작업할 때 권한을 유지하는 방법은 무엇입니까 zip?

--symlinks유사한 권한 옵션이 있습니까?를 사용하여 심볼릭 링크를 보존하는 방법을 알고 있습니다 .

답변1

info-zip(사용 중인 프로그램)은 권한을 저장/복원할 수 있습니다.유닉스수업 시스템.

언급된 것은목차내부에매뉴얼 페이지:

Unix를 제외하고 저장소 디렉터리의 날짜, 시간 및 권한은 복원되지 않습니다. (Windows NT 이상 버전에서는 이제 타임스탬프가 복원됩니다.)

파일 읽기/쓰기/실행 권한을 저장/복원합니다. 그러나 빠른 확인을 통해(zip 3.0) setuid/setgid 권한이 유지되지 않음을 알 수 있습니다.

이 기능은 선택 사항이 아닙니다. zip/unzip은 가능할 때마다 이 기능을 수행합니다.

다른 시스템에서는 권한을 저장/복원하는 기능이 덜 완벽합니다. 예를 들어 Windows에서는 ZIP 파일을 사용합니다.%temp%폴더.

추가 자료:

답변2

Info-Zip 3.0은 파일/디렉토리 UNIX 권한 및 UID/GID 소유권 데이터 보존을 지원합니다. zip기본적으로 저장되지만 다음 unzip을 사용하여 특별한 방법으로 복원해야 합니다.

  • unzip플래그와 함께 사용해야 합니다 -X.
  • unzip파일/디렉토리 UID/GID를 설정 하려면 실행해야 합니다 root. 일반 사용자로 실행하면 UID는 항상 현재 사용자 중 하나가 되며, GID는 현재 사용자가 그룹에 속한 경우에만 복원됩니다.

예:

# zip -v | head -2 | tail -1
This is Zip 3.0 (July 5th 2008), by Info-ZIP.

# unzip -v | head -1
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

# touch file1
# mkdir dir1
# chmod 000 file1
# chown 1111 dir1
# ls -ld file1 dir1
drwxr-xr-x 2 1111 root 40 mar 28 20:12 dir1
---------- 1 root root  0 mar 28 20:12 file1

# zip files.zip file1 dir1
  adding: file1 (stored 0%)
  adding: dir1/ (stored 0%)

# unzip -X files.zip -d extracted
Archive:  files.zip
 extracting: extracted/file1         
   creating: extracted/dir1/

# ls -l extracted
total 0
drwxr-xr-x 2 1111 root 40 mar 28 20:12 dir1
---------- 1 root root  0 mar 28 20:12 file1

참고: 이 플래그를 unzip-K플래그와 함께 사용하여 SUID/SGID/고정 비트를 복원할 수도 있습니다.

답변3

짧은 대답: 그럴 수 없습니다! zip파일 권한은 유지되지 않습니다.

이에 대해 자세히 알아보기여기그리고여기.

권한을 유지해야 하는 경우 tar스위치 사용을 고려하세요 --preserve-permissions.

관련 정보