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 / 问题 / 416345
Accepted
manifestor
manifestor
Asked: 2018-01-12 04:50:27 +0800 CST2018-01-12 04:50:27 +0800 CST 2018-01-12 04:50:27 +0800 CST

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

  • 772

每次我virsh destroy ${KVM}以 root 身份运行时,都会出现以下错误(virsh shutdown ${KVM}完全没有反应,没有任何反应):

error: Failed to destroy domain ${KVM}
error: Failed to terminate process 11956 with SIGTERM: Permission denied

当我shutdown -h now在 KVM 中运行时,它会永远挂起,直到我终止 qemu-system-x86_64 进程(kill ${PID_OF_QEMU_PROCESS})。如系统日志中所述,apparmor 正在阻止调用(forvirsh shutdown和virsh destroy):

apparmor="DENIED" operation="ptrace" profile="/usr/sbin/libvirtd" pid=23212
    comm="libvirtd" requested_mask="trace" denied_mask="trace" peer="unconfined"

在 qemu 配置文件中/etc/libvirt/qemu.conf,我尝试禁用 Apparmor ( security_driver = "none"),但仍然遇到相同的错误。

一些细节: OS = Debian 9, Kernel = 4.14.0-0.bpo.2-amd64, libvirt-version = 3.0.0-4.

有谁知道如何在不禁用 apparmor 的情况下解决问题?

kvm qemu
  • 1 1 个回答
  • 2065 Views

1 个回答

  • Voted
  1. Best Answer
    Bigon
    2018-01-12T05:23:34+08:002018-01-12T05:23:34+08:00

    设置security_driver = "none"不会禁用内核中的 apparmor,libvirt它本身只是一些支持

    查看当前稳定版(debian 9/stretch)和当前不稳定版的 apparmor 配置文件,我发现了一些差异。

    我相信您可以在其中添加以下规则/etc/apparmor.d/local/usr.sbin.libvirtd(这是两个版本之间的众多差异之一):

    ptrace (trace) peer=unconfined,
    

    然后重启apparmor服务service restart apparmor

    不过,可能需要其他规则才能使一切正常。

    另一种解决方案是将配置文件设置为“投诉”模式aa-complain /usr/sbin/libvirtd,这将防止 apparmor 拒绝任何事情,但您会记录问题。

    您可以稍后使用aa-logprof来生成缺少的规则(在仔细检查它们之后)或尝试从不稳定的获取 apparmor 配置文件。

    • 1

相关问题

  • 如何擦除 md raid meta?

  • 验证安装位置时出错:我们的字典中不存在发行版“centos7”|| 主机操作系统 CentOS 7 [关闭]

  • 如何在运行时从命令行更改 KVM VNC 端口?

  • 为什么 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