/etc/group 中缺少组 libvirt

/etc/group 中缺少组 libvirt

我已经在 Ubuntu 18.04 机器上安装了 qemu-kvm 和 virt-manager。尝试将我的用户添加到 libvirt 组时出现以下错误:

sudo groupadd libvirt
groupadd: group 'libvirt' already exists

sudo adduser $USER libvirt
Adding user `xxxxxx' to group `libvirt' ...
gpasswd: group 'libvirt' does not exist in /etc/group
adduser: `/usr/bin/gpasswd -a xxxxxx libvirt' returned error code 3. Exiting.

cat /etc/group | grep libvirt    
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:134:

sudo cat /etc/gshadow | grep libvirt
kvm:!::libvirt-qemu
libvirt-dnsmasq:!::
libvirt-qemu:!::libvirt-qemu

答案1

也许还有其他命令删除了该组...我在 18.04.3 上安装了 qemu-kvm 和 virt-manager。我从组和 gshadow 中删除了它们。然后根据 @ChristianEhrhardt 的评论重新安装了 libvirt-daemon-system。重新安装后,组被重新添加,安装的用户被添加到组中。有帮助吗?

user$ grep libvirt /etc/group
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:130:
user$ sudo grep libvirt /etc/gshadow
libvirt-qemu:!::libvirt-qemu
libvirt-dnsmasq:!::

user$ sudo apt-get install --reinstall libvirt-daemon-system

user$ grep libvirt /etc/group
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:130:
libvirt:x:129:user
user$ sudo grep libvirt /etc/gshadow
libvirt-qemu:!::libvirt-qemu
libvirt-dnsmasq:!::
libvirt:!::user

答案2

我找到了解决问题的方法。错误与我的系统有关,libvirt 安装没有问题。有一个名为的组虚拟器在 AD 中我的系统正在进行身份验证。这导致在创建本地组和向其中添加用户时发生冲突。

解决方案是在 /etc/sssd/conf.d/10-libvirt.conf 中进行过滤

  [nss]
  filter_groups = libvirt

并重启 sssd 服务

systemctl restart sssd.service

相关内容