압축 폴더로 작업할 때 권한을 유지하는 방법은 무엇입니까 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/고정 비트를 복원할 수도 있습니다.