udev-acl: skip ACLs when systemd is running, disable by default

This commit is contained in:
Kay Sievers 2011-07-14 02:02:35 +02:00
parent 1985c76e48
commit c874e22e0d
3 changed files with 18 additions and 15 deletions

View File

@ -360,7 +360,7 @@ if ENABLE_UDEV_ACL
extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
dist_udevrules_DATA += extras/udev-acl/70-acl.rules
dist_udevrules_DATA += extras/udev-acl/70-udev-acl.rules
libexec_PROGRAMS += extras/udev-acl/udev-acl
udevacl-install-hook:

View File

@ -126,20 +126,6 @@ if test "x$enable_hwdb" = xyes; then
fi
AM_CONDITIONAL([ENABLE_HWDB], [test "x$enable_hwdb" = xyes])
# ------------------------------------------------------------------------------
# udev_acl - apply ACLs for users with local forground sessions
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([udev_acl],
AS_HELP_STRING([--disable-udev_acl], [disable local user acl permissions support]),
[], [enable_udev_acl=yes])
if test "x$enable_udev_acl" = xyes; then
AC_CHECK_LIB([acl], [acl_init], [:], AC_MSG_ERROR([libacl not found]))
AC_CHECK_HEADER([acl/libacl.h], [:], AC_MSG_ERROR([libacl header not found]))
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0])
fi
AM_CONDITIONAL([ENABLE_UDEV_ACL], [test "x$enable_udev_acl" = xyes])
# ------------------------------------------------------------------------------
# GUdev - libudev gobject interface
# ------------------------------------------------------------------------------
@ -183,6 +169,20 @@ if test "x$enable_keymap" = xyes; then
fi
AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = xyes])
# ------------------------------------------------------------------------------
# udev_acl - apply ACLs for users with local forground sessions
# ------------------------------------------------------------------------------
AC_ARG_ENABLE([udev_acl],
AS_HELP_STRING([--enable-udev_acl], [enable local user acl permissions support]),
[], [enable_udev_acl=no])
if test "x$enable_udev_acl" = xyes; then
AC_CHECK_LIB([acl], [acl_init], [:], AC_MSG_ERROR([libacl not found]))
AC_CHECK_HEADER([acl/libacl.h], [:], AC_MSG_ERROR([libacl header not found]))
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0])
fi
AM_CONDITIONAL([ENABLE_UDEV_ACL], [test "x$enable_udev_acl" = xyes])
# ------------------------------------------------------------------------------
# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
# ------------------------------------------------------------------------------

View File

@ -6,6 +6,9 @@
ENV{MAJOR}=="", GOTO="acl_end"
ACTION=="remove", GOTO="acl_apply"
# systemd replaces udev-acl entirely, skip if active
TEST=="/sys/fs/cgroup/systemd", TAG=="uaccess", GOTO="acl_end"
# PTP/MTP protocol devices, cameras, portable media players
SUBSYSTEM=="usb", ENV{ID_USB_INTERFACES}=="*:060101:*", TAG+="udev-acl"