파일을 백업하고 ACL을 보존하려면 무엇을 사용해야 합니까?

파일을 백업하고 ACL을 보존하려면 무엇을 사용해야 합니까?

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 -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을 복원합니다.

관련 정보