You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QEMU+KVM环境下执行virsh list --all出现权限类错误求助

QEMU+KVM环境下执行virsh list --all出现权限类错误求助

看起来你碰到了virsh连接KVM hypervisor的权限问题,我帮你捋捋怎么解决:

首先先看你遇到的错误信息:

error: failed to connect to the hypervisor
error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied

再结合你执行ls -la /var/run/libvirt/的输出,重点看libvirt-sock这一行:

srw-rw----  1 root libvirt    0 Jan 19 20:28 libvirt-sock

这个套接字的权限是组读写,所属用户组是libvirt,也就是说只有root用户或者加入了libvirt组的普通用户才能访问它,你的当前用户显然不在这个组里,所以才会触发权限拒绝的错误。

接下来给你几个步骤解决问题:

  • 先确认当前用户是否在libvirt组里:
    执行命令 groups,看看输出里有没有libvirt这个组名。如果没有,继续下一步。

  • 将当前用户添加到libvirt组:
    运行这条命令(需要sudo权限):

    sudo usermod -aG libvirt $USER
    

    这里的-aG参数是把用户追加到目标组,不会覆盖你原来的用户组配置,放心用。

  • 让组权限生效:
    你可以执行newgrp libvirt来立刻刷新当前会话的组权限,或者简单点注销再重新登录系统,新的组权限就会生效了。

  • 最后再测试一下:
    重新执行virsh list --all,应该就能正常连接hypervisor,不会再报权限错误了。

另外提一句,虽然用sudo virsh list --all也能临时解决,但不推荐长期这么做——root权限操作虚拟机风险太高,把用户加入对应组是更安全规范的做法。

备注:内容来源于stack exchange,提问作者DeltaFlyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 15:12:52