
tar 유틸리티를 사용하여 백업에 파일을 저장하면 확장 ACL이 손실됩니다.
ACL을 보존하기 위해 일반적으로 사용되지만 해킹적이지 않은 솔루션(예: ACL을 처음부터 다시 작성하는 스크립트 생성)이 있습니까?
답변1
사실, 나는 그 질문이 (표준) 파일 허가 비트에 관한 것이 아니라고 생각합니다.펼친ACL 정보(setfacl(1) 또는 acl(5) 참조)
내가 아는 바로는 수정되지 않은 GNU tar는 ACL 정보를 무시합니다. (RHEL 5.2와 함께 제공되는 GNU tar 1.15.1의 매뉴얼 페이지에는 --acls 및 --no-acls 스위치가 언급되어 있지만 작동시키지는 못했습니다.)
그러나, 그별프로그램에서 ACL을 백업하고 복원할 수 있습니다.엑서스타체재:
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
스타 홈페이지:http://cdrecord.berlios.de/new/private/star.html Star는 적어도 우분투에서 사용할 수 있습니다.
답변2
나는 지금까지 해결책을 찾고 있습니다.
먼저 내 폴더에서 getfactl을 수행하십시오.
getfacl -R /a_folder > folder.acl
그런 다음 일반 tar를 수행하십시오
tar -czvf folder.tar.gz /a_folder
내가 그것을 추출할 때
tar -xvf folder.tar.gz
권한에 대해 setfacl을 수행하십시오.
setfacl --restore=folder.acl
이것은 나에게 효과적입니다.
답변3
타르 사용
만들다:
tar --acls -cpf backup.tar some-dir-or-file
압축을 풀려면:
tar --acls -xpf backup.tar
답변4
나는 당신이 사용하는 것이 좋습니다bsdtar
.
bsdtar
기본적으로 확장 ACL 백업, 그것은동일한 구문as 이며 GNU tar
, 생성된 아카이브는 에서 읽을 수 있습니다 GNU tar
.
패키지 및 명령 이름(Debian 기반 배포판에서)은 입니다 bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
두 번째(추출) 명령은 ACL을 복원합니다.