diff --git a/package/util-linux/su.pam b/package/util-linux/su.pam index f000c39dbd..84b18605ce 100644 --- a/package/util-linux/su.pam +++ b/package/util-linux/su.pam @@ -7,7 +7,9 @@ account required pam_unix.so password required pam_unix.so nullok +# session required pam_selinux.so close session required pam_limits.so session required pam_env.so session required pam_unix.so session optional pam_lastlog.so +# session required pam_selinux.so open diff --git a/package/util-linux/util-linux.mk b/package/util-linux/util-linux.mk index 53a6d9b780..84c4f0ec09 100644 --- a/package/util-linux/util-linux.mk +++ b/package/util-linux/util-linux.mk @@ -75,6 +75,19 @@ endif UTIL_LINUX_CONF_ENV += LIBS="$(UTIL_LINUX_LIBS)" UTIL_LINUX_MAKE_OPTS += LIBS="$(UTIL_LINUX_LIBS)" +ifeq ($(BR2_PACKAGE_LIBSELINUX),y) +UTIL_LINUX_DEPENDENCIES += libselinux +UTIL_LINUX_CONF_OPTS += --with-selinux +define UTIL_LINUX_SELINUX_PAMFILES_TWEAK + $(foreach f,su su-l, + $(SED) 's/^# \(.*pam_selinux.so.*\)$$/\1/' \ + $(TARGET_DIR)/etc/pam.d/$(f) + ) +endef +else +UTIL_LINUX_CONF_OPTS += --without-selinux +endif + # Used by cramfs utils UTIL_LINUX_DEPENDENCIES += $(if $(BR2_PACKAGE_ZLIB),zlib) @@ -192,6 +205,7 @@ define UTIL_LINUX_INSTALL_PAMFILES $(TARGET_DIR)/etc/pam.d/su $(INSTALL) -m 0644 package/util-linux/su.pam \ $(TARGET_DIR)/etc/pam.d/su-l + $(UTIL_LINUX_SELINUX_PAMFILES_TWEAK) endef endif