AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 460073
Accepted
elbarna
elbarna
Asked: 2018-08-03 04:56:39 +0800 CST2018-08-03 04:56:39 +0800 CST 2018-08-03 04:56:39 +0800 CST

Slackware 和 libvirt 与 qemu,为什么 vm 以 root 身份运行?

  • 772

我将 libvirt 配置为使用“用户”组来运行 vm

 grep -w users /etc/libvirt/qemu.conf
# unix socket. This prevents unprivileged access from users on the
# unix socket. This prevents unprivileged access from users on the
group = "users"
# deployments. It is strongly recommended that users update their

我可以毫无问题地从用户启动 vm,它们运行.. 但是 ps 说.. 以 root 身份运行,而不是以我的非特权用户身份运行,为什么?

ps -ef|grep qemu
root     15248     1 33 14:53 ?        00:01:05 /usr/bin/qemu-kvm -name guest=

可以以非特权用户身份运行 vm 吗?发行版是 slackware 14.2,当然我在用户组

qemu libvirt
  • 1 1 个回答
  • 1166 Views

1 个回答

  • Voted
  1. Best Answer
    elbarna
    2018-08-20T08:47:52+08:002018-08-20T08:47:52+08:00

    找到解决方案。

    首先在 libvirt SlackBuild 上,添加或修改这些行

    VIRTGROUP=${VIRTGROUP:-kvm}
    
    ./configure \
      --prefix=/usr \
      --libdir=/usr/lib${LIBDIRSUFFIX} \
      --bindir=/usr/sbin \
      --sbindir=/usr/sbin \
      --disable-static \
      --sysconfdir=/etc \
      --localstatedir=/var \
      --mandir=/usr/man \
      --docdir=/usr/doc/$PRGNAM-$VERSION \
      --enable-static=no \
      --enable-shared=yes \
      --with-qemu-group=$VIRTGROUP \
      --with-qemu-user=nobody \
      --without-hal \
      --with-interface \
      --with-lxc \
      --with-udev \
      --with-storage-disk \
      --with-storage-gluster \
      --with-storage-lvm \
      --with-init-script=none
    
    # udev rules
    mkdir -p $PKG/etc/udev/rules.d/65-kvm.rules
    install -D -m 0644 $CWD/65-kvm.rules $PKG/etc/udev/rules.d/65-kvm.rules
    

    udev规则必须是这样的

    cat /etc/udev/rules.d/65-kvm.rules 
    KERNEL=="kvm", NAME="%k", GROUP="kvm", MODE="0660"
    

    不要忘记 polkit 部分,否则 libvirt 只能以 root 身份运行

     cat /usr/share/polkit-1/rules.d/50-libvirt.rules 
    // Allow any user in the 'libvirt' group to connect to system libvirtd
    // without entering a password.
    
    polkit.addRule(function(action, subject) {
        if (action.id == "org.libvirt.unix.manage" &&
            subject.isInGroup("libvirt")) {
            return polkit.Result.YES;
        }
    });
    

    重新启动 libivirt ps 后为 qemu 用户返回 nobody

    ps  -o user,group,cmd -p 14123
    USER     GROUP    CMD
    nobody   kvm      /usr/bin/qemu-kvm -name guest=..
    
    • 0

相关问题

  • KVM:无法销毁 VM(权限被拒绝) - AppArmor 阻止 Libvirt

  • QEMU-KVM 来宾 rootfs 只读问题

  • QEMU 4个以上的串口

  • 在 MIPS 上运行为 IRIX 制作的旧程序的方法?

  • 为什么 KVM/QEMU 中的 vm 称为域?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve