루트가 아닌 사용자로 KVM 게스트를 100% 생성하는 방법은 무엇입니까?

루트가 아닌 사용자로 KVM 게스트를 100% 생성하는 방법은 무엇입니까?

많은 사용자가 있는 데비안 호스트에서는 서로 다른 사용자가 서로 완전히 독립적인 자신만의 가상 머신을 만들 수 있도록 허용하고 싶습니다.

가이드에서 본 가장 가까운 관련(루트가 아닌) 방법은 qemu:///system하이퍼바이저에 연결하는 것입니다. 모든 사용자가 공유하는 시스템 관리 프로그램입니다. 더 중요한 것은 디스크 이미지 파일은 루트(또는 kvm) 사용자가 소유한다는 것입니다. 즉, 디스크 이미지 파일 위치에 대한 전체 파일 시스템 경로를 전역적으로 읽을 수 있어야 합니다.

위와 같은 이유와 다른 이유로 인해 루트가 아닌 사용자로만 가상 머신을 실행하고 싶습니다. 하고 있는 것입니다 qemu:///session. 그래서 주요 질문은 어떻게 해야 하느냐는 것입니다. 제가 사용할 수 있는 가이드가 있나요?

새로운 가상 브리지 iface를 생성하려고 시도했지만 netdev 그룹의 구성원임에도 다음을 수행하면 "권한 거부" 오류가 발생합니다.

 virsh -c qemu:///session net-create /etc/libvirt/qemu/networks/mynet.xml

mynet.xml은 기본 네트워크와 같지만 다른 서브넷에 있습니다.

답변1

KVM을 직접 사용하는 것이 아니라 libvirt.

virsh호스트의 및 그룹에 사용자를 추가하여 libvirtdlibvirt 설정에 대한 액세스 권한이 있는 사용자를 지정할 수 있습니다(따라서 가상 머신을 생성하고 명령을 실행함) .kvm

policykitlibvirt wiki에 설명된 프로세스를 사용하여 액세스를 관리 할 수도 있습니다 .SSHPolicyKit 설정 |

답변2

KVM의 경우 장치에 대한 액세스가 필요합니다 /dev/kvm. 사용자가 장치를 읽고 쓸 수 있으면 루트 권한 없이 KVM 기반 가상 머신을 실행할 수 있습니다.

대부분의 배포판에서는 kvm그룹 구성원이 이 장치에 액세스할 수 있으므로 사용자를 kvm그룹에 추가하기만 하면 됩니다.

관련 정보