为什么用户可以在 Debian 12 上以 KVM 模式运行 qemu 虚拟机而无需访问 /dev/kvm(书虫)?

为什么用户可以在 Debian 12 上以 KVM 模式运行 qemu 虚拟机而无需访问 /dev/kvm(书虫)?

一个用户帐户A可以运行启用了 kvm 的 qemu VM,并带有选项-enable-kvm

但用户A无权访问/dev/kvm.相关用户组及/dev/kvm权限如下。

$ id
uid=1004(A) gid=1004(A) groups=1004(A),100(users)
$ stat /dev/kvm
  File: /dev/kvm
  Size: 0               Blocks: 0          IO Block: 4096   character special file
Device: 0,5     Inode: 714         Links: 1     Device type: 10,232
Access: (0660/crw-rw----)  Uid: (    0/    root)   Gid: (  104/     kvm)

根据[已解决]带有 KVM 的 Qemu 失败,权限被拒绝和其他帖子中,用户需要有权访问/dev/kvm才能使用支持 kvm 的 qemu 虚拟机。这通常是通过将用户放入组中来完成的kvm

为什么用户A能够将 qemu VM 与 KVM 一起使用?


系统信息:

  • Debian GNU/Linux 12(书呆子)
  • 使用 live iso 安装

答案1

在 Debian(和其他)上,/dev/kvm使用uaccess;进行管理。本质上,这为“在控制台”登录的用户提供了对某些设备的访问(IE坐在电脑前)。

您可以通过检查 ACL 来查看其实际情况:

getfacl /dev/kvm

这应该显示授予用户 A 读/写访问权限的 ACL。

udev您将在 中找到相关规则/lib/udev/rules.d/70-uaccess.rules。也可以看看Linux 中 kvm、libvirt 和 libvirt-qemu 组的用途是什么?

相关内容