diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-03-27 06:34:24 -0400 |
---|---|---|
committer | Martin Pitt <martinpitt@users.noreply.github.com> | 2017-03-27 12:34:24 +0200 |
commit | 5a664ca10f38dbf66c07961707dafed66382caec (patch) | |
tree | 1a3c6de7947466aa74de2a67c8d4cc5e232744a1 /configure.ac | |
parent | d7e228d9febd42e776750e5c801099a90ba06a6b (diff) |
rules: add a rule to set /dev/kvm access mode and ownership (#5597)
Kernel default mode is 0600, but distributions change it to group kvm, mode
either 0660 (e.g. Debian) or 0666 (e.g. Fedora). Both approaches have valid
reasons (a stricter mode limits exposure to bugs in the kvm subsystem, a looser
mode makes libvirt and other virtualization mechanisms work out of the box for
unprivileged users over ssh).
In Fedora the qemu package carries the relevant rule, but it's nicer to have it
in systemd, so that the permissions are not dependent on the qemu package being
installed. Use of packaged qemu binaries is not required to make use of
/dev/kvm, e.g. it's possible to use a self-compiled qemu or some alternative.
https://bugzilla.redhat.com/show_bug.cgi?id=1431876
To accomodate both approaches, add a rule to set the mode in 50-udev-default.rules,
but allow the mode to be overridden with a --with-dev-kvm-mode configure rule.
The default is 0660, as the (slightly) more secure option.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index c0e5ec4fae..06fa908d43 100644 --- a/configure.ac +++ b/configure.ac @@ -1206,6 +1206,16 @@ AC_DEFINE_UNQUOTED(SYSTEM_GID_MAX, [$SYSTEM_GID_MAX], [Maximum System GID]) AC_SUBST(SYSTEM_GID_MAX) # ------------------------------------------------------------------------------ + +AC_ARG_WITH(dev-kvm-mode, + AS_HELP_STRING([--with-dev-kvm-mode=MODE], + [/dev/kvm access mode, defaults to "0660"]), + [DEV_KVM_MODE="$withval"], + [DEV_KVM_MODE="0660"]) + +AC_SUBST(DEV_KVM_MODE, [$DEV_KVM_MODE], [/dev/kvm access mode]) + +# ------------------------------------------------------------------------------ have_localed=no AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon])) if test "x$enable_localed" != "xno"; then @@ -1767,6 +1777,7 @@ AC_MSG_RESULT([ TTY GID: ${TTY_GID} maximum system UID: ${SYSTEM_UID_MAX} maximum system GID: ${SYSTEM_GID_MAX} + /dev/kvm access mode: ${DEV_KVM_MODE} certificate root: ${CERTIFICATEROOT} support URL: ${SUPPORT_URL} nobody user name: ${NOBODY_USER_NAME} |