[Pkg-libvirt-maintainers] Bug#844339: [PATCH v2 3/4] libvirt-daemon-system.postinst: use allocated uid/gid if possible

Mauricio Faria de Oliveira mauricfo at linux.vnet.ibm.com
Thu Nov 17 12:51:41 UTC 2016


Use the allocated uid/gid for libvirt-qemu
when creating the user/group, if not taken.

If the user/group already exists or uid/gid
are already in use, the user has been asked
to continue or abort the installation, thus
if we are here, it is OK to proceed and not
use the allocated uid/gid.

Signed-off-by: Mauricio Faria de Oliveira <mauricfo at linux.vnet.ibm.com>
---
 debian/libvirt-daemon-system.postinst | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/debian/libvirt-daemon-system.postinst b/debian/libvirt-daemon-system.postinst
index f36b806..3730783 100644
--- a/debian/libvirt-daemon-system.postinst
+++ b/debian/libvirt-daemon-system.postinst
@@ -20,6 +20,10 @@ set -e
 # Source debconf library.
 . /usr/share/debconf/confmodule
 
+# Allocated UID and GID for libvirt-qemu
+LIBVIRT_QEMU_UID=64055
+LIBVIRT_QEMU_GID=64055
+
 add_users_groups()
 {
     if ! getent group libvirt >/dev/null; then
@@ -31,6 +35,13 @@ add_users_groups()
     fi
     # 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 \
@@ -40,10 +51,18 @@ add_users_groups()
             --home /var/lib/libvirt \
             --no-create-home \
             --gecos "Libvirt Qemu" \
+            $PARAMETER_UID \
             libvirt-qemu
     fi
     if ! getent group libvirt-qemu >/dev/null; then
-        addgroup --quiet --system libvirt-qemu
+
+        # 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
 }
-- 
2.10.2



More information about the Pkg-libvirt-maintainers mailing list