“Libvirt qemu”用户的目的是什么?

Zul*_*rib 6 virtualization qemu 16.04

在安装某些虚拟化软件包时,作为非系统用户创建的“Libvirt qemu”用户的目的是什么?

究竟是哪个包做到了这一点?

mur*_*uru 9

它是由libvirt-bin

$ grep libvirt-qemu /var/lib/dpkg/info/*.postinst
/var/lib/dpkg/info/libvirt-bin.postinst:# Allocated UID and GID for libvirt-qemu
/var/lib/dpkg/info/libvirt-bin.postinst:    if ! getent passwd libvirt-qemu >/dev/null; then
/var/lib/dpkg/info/libvirt-bin.postinst:            libvirt-qemu
/var/lib/dpkg/info/libvirt-bin.postinst:                chown libvirt-qemu:kvm "${dir}"
/var/lib/dpkg/info/libvirt-bin.postinst:    chown libvirt-qemu:kvm /var/lib/libvirt/qemu/channel/target
Run Code Online (Sandbox Code Playgroud)

这是一种安全措施。对于 Web 服务器、邮件服务器、管理程序等服务,该服务应该放弃特权并以非特权用户身份运行,而不是root在完成任何必要的初始化后保持不变。这样,如果服务受到威胁,攻击者就不会获得不受限制的 root 访问权限。特别是对于libvirt

如果来自“系统”实例的 QEMU 虚拟机以非 root 身份运行,则 QEMU 进程能够访问的主机资源将受到更大的限制。