ACL을 사용하여 Linux를 복원하는 방법

ACL을 사용하여 Linux를 복원하는 방법

전체 시스템의 백업을 생성했고 dd이를 새(암호화된) 드라이브에 복원하고 싶습니다. 새로 생성된 ext4 파일 시스템에 대한 파일 및 권한을 성공적으로 복원했지만 rsync -ad(성공적으로 부팅했고 이를 사용하여 이 글을 작성하고 있습니다) 마운트된 장치에 액세스할 수 없습니다 /media/username(파일 관리자에서 일부 파티션을 클릭하여 마운트한다고 가정해 보겠습니다). it), 이 디렉토리와 마운트 지점은 의 소유입니다 root:root. 알려진 파일(예: 의 항목)의 권한이 올바르게 설정되었으므로 백업 전에도 에서 소유한 것으로 /home가정합니다 . 문제가 있는 것 같아요/media/*rootACL에스.

  • 복원하는 방법이 있나요ACL두 번째로 모든 것을 복사할 필요가 없나요? (나는 발견했다이것안내해 주지만 신뢰할 수 없다고 합니다. 이것이 내 사용 사례에 적합한지 모르겠습니다. 또한 Linux 소유권과 권한을 복원할 필요가 없습니다. 이는 이미 정확해야 하며 이를 깨고 싶지 않습니다. 어쩌면 -s옵션이 getfacl나에게 필요한 것일 수도 있습니다.)
  • 그 밖에 누락된 부분이 있어 rsync복원해야 합니까?
  • 저장할 수 없고 모든 내용을 다시 복사해야 한다면 무엇을 사용해야 합니까? 가이드 사용한 명령을 따랐 tar지만 두 tar명령을 파이프하는 것은 정말 느렸습니다.

나는 사용한다리눅스 민트 19.3.

편집: 백업( )을 확인했는데 /mnt/, 맞습니다. ACL이 설정되었습니다.

sudo getfacl /mnt/media/username/
getfacl: Removing leading '/' from absolute path names
# file: mnt/media/username/
# owner: root
# group: root
user::rwx
user:username:r-x
user:libvirt-qemu:--x
group::---
mask::r-x
other::---

edit2: 모든 것을 복사한 이후로 몇 가지 사항을 변경했으므로 파일 내용을 덮어쓰지 않는 방법을 선호합니다.

답변1

나에게 도움이 된 솔루션(ACL 및 권한만 복원하고 파일을 변경하고 싶지 않은 경우):

cd /path/to/backup  # so that saved paths would be relative to backed up root
getfacl -R . > ~/facl.bak
cd /
setfacl --restore=/root/facl.bak

답변2

rsync -avX대신에 사용할 수 있습니다 rsync -ad. 파일 콘텐츠를 다시 복사하지 않고 누락된 ACL을 적용해야 합니다.

-u변경된 파일 업데이트를 방지하고 --existing새 파일 생성(예: 대상에서 파일을 삭제한 경우)을 방지하려면 플래그를 추가하세요 .

관련 정보