SELinux 문제일 가능성은 있지만 아직 확정할 수 없습니다. 오류 직후 SELinux 접근 거부 기록(AVC)에 virt_qemu_ga_t의 /mnt 거부가 있고, 기본 보안 문맥도 불일치할 때만 SELinux 원인으로 판단해 복구하는 것이 가장 안전합니다.
먼저 다음 해결 방법을 적용해 보세요.
- 가상머신 내부에서 오류를 다시 발생시킨 직후 AVC를 확인하십시오. 같은 시각에
virt_qemu_ga_t가 /mnt에 접근하지 못한 기록이 있어야 SELinux 가능성이 높아집니다.
sudo ausearch -m AVC,USER_AVC -ts recent | grep -Ei 'qemu|guest|fsfreeze|/mnt'
- 관련 AVC가 확인된 경우에만
/mnt의 현재 보안 문맥이 기본값과 다른지 확인하십시오.
sudo matchpathcon -V /mnt
- AVC에
virt_qemu_ga_t와 /mnt 접근 거부가 있고 보안 문맥 불일치도 보고될 때만 기본 문맥을 복구하십시오.
sudo restorecon -v /mnt
그 후 복제 또는 스냅샷을 다시 실행하십시오. failed to open /mnt: Permission denied가 재발하지 않으면 정상입니다.
- AVC가 없거나 보안 문맥이 정상이라면 SELinux를 변경하지 마십시오. 다음 결과에서 일반 권한, ACL 또는 마운트 특성을 확인하고, 확인된 항목만 수정하는 것이 안전한 대안입니다.
sudo findmnt -T /mnt -o TARGET,SOURCE,FSTYPE,OPTIONS
sudo ls -ldZ /mnt
sudo namei -om /mnt
sudo getfacl -p /mnt
- SELinux 전체 비활성화,
chmod 777, 근거 없는 audit2allow 정책 생성은 사용하지 마십시오.
이 방법을 먼저 권장하는 이유는 다음과 같습니다.
- 새
/mnt 마운트 지점의 SELinux 보안 문맥 불일치 가능성
- SELinux가 아니라 경로 권한, ACL, FUSE, NFS root-squash 또는 마운트 옵션으로 접근이 제한됐을 가능성
위 조치로 해결되지 않으면 아래 결과를 알려주세요. 이미 제공한 내용은 다시 보내지 않으셔도 됩니다.
- 위 조치 후에도 실패하면 AVC와
matchpathcon 결과, 그리고 다음 에이전트 로그 결과가 필요합니다.
sudo journalctl -u qemu-guest-agent --since '-15 min' --no-pager
비밀번호나 토큰은 제외하고 제공해야 합니다.