#!/bin/sh . /etc/control.d/functions CONFIG=/etc/udev/rules.d/90-qemu-kvm.rules DEVICE=/dev/kvm new_fmode public 666 root root new_fmode vmusers 660 root @GROUP@ new_fmode restricted 600 root root new_subst public \ '^KERNEL=="kvm",[[:space:]]*MODE="0666",[[:space:]]*GROUP="[^"]*"[[:space:]]*$' \ 's/^KERNEL=="kvm",[[:space:]]*MODE="[^"]*",[[:space:]]*GROUP="[^"]*"[[:space:]]*$/KERNEL=="kvm", MODE="0666", GROUP="root"/g' new_subst vmusers \ '^KERNEL=="kvm",[[:space:]]*MODE="0660",[[:space:]]*GROUP="@GROUP@"[[:space:]]*$' \ 's/^KERNEL=="kvm",[[:space:]]*MODE="[^"]*",[[:space:]]*GROUP="[^"]*"[[:space:]]*$/KERNEL=="kvm", MODE="0660", GROUP="@GROUP@"/g' new_subst restricted \ '^KERNEL=="kvm",[[:space:]]*MODE="0600",[[:space:]]*GROUP="[^"]*"[[:space:]]*$' \ 's/^KERNEL=="kvm",[[:space:]]*MODE="[^"]*",[[:space:]]*GROUP="[^"]*"[[:space:]]*$/KERNEL=="kvm", MODE="0600", GROUP="root"/g' new_summary "KVM Accelerator (kvm)" new_help public "Any user can use kvm" new_help vmusers "Only '@GROUP@' group members can use kvm" new_help restricted "Only root can use kvm" # Backwards compatibility test "$*" = kvm && set - vmusers control_subst "$CONFIG" "$*" || exit 1 is_builtin_mode "$*" || { # Fix device permissions if udev is not used for some reason if [ -c "$DEVICE" ]; then control_fmode "$DEVICE" "$*" || exit 1 fi # Make udev apply permissions and additional rules if any if mountpoint -q /dev && [ -w /sys/class/misc/kvm/uevent ]; then echo add > /sys/class/misc/kvm/uevent ||: fi }