#!/bin/ash # # allocated UID and GID for libvirt-qemu # LIBVIRT_QEMU_UID=64055 LIBVIRT_QEMU_GID=64055 # # add groups to run libvirt # if ! getent group libvirt >/dev/null; then addgroup --quiet --system libvirt fi if ! getent group kvm >/dev/null; then addgroup --quiet --system kvm fi # # add user and group libvirt runs qemu/kvm instances with # if ! getent passwd libvirt-qemu >/dev/null; then # set uid if available (expected); don't fail otherwise. PARAMETER_UID='' if ! getent passwd $LIBVIRT_QEMU_UID >/dev/null; then PARAMETER_UID="--uid $LIBVIRT_QEMU_UID" fi adduser --quiet \ --system \ --ingroup kvm \ --quiet \ --disabled-login \ --disabled-password \ --home /var/lib/libvirt \ --no-create-home \ --gecos "Libvirt Qemu" \ $PARAMETER_UID \ libvirt-qemu fi if ! getent group libvirt-qemu >/dev/null; then # set gid if available (expected); don't fail otherwise. PARAMETER_GID='' if ! getent group $LIBVIRT_QEMU_GID >/dev/null; then PARAMETER_GID="--gid $LIBVIRT_QEMU_GID" fi addgroup --quiet --system $PARAMETER_GID libvirt-qemu adduser --quiet libvirt-qemu libvirt-qemu fi # # add each sudo user to the libvirt group # for u in $(getent group sudo | sed -e "s/^.*://" -e "s/,/ /g"); do adduser "$u" libvirt >/dev/null || true done if ! getent group libvirt-dnsmasq >/dev/null; then addgroup --quiet --system libvirt-dnsmasq fi if ! getent passwd libvirt-dnsmasq >/dev/null; then adduser --quiet \ --system \ --ingroup libvirt-dnsmasq \ --disabled-login \ --disabled-password \ --home /var/lib/libvirt/dnsmasq \ --no-create-home \ --gecos "Libvirt Dnsmasq" \ libvirt-dnsmasq fi # # register and start libvirt services # systemctl daemon-reload systemctl start libvirtd.service systemctl start libvirt-guests.service