summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/util-linux/su.pam2
-rw-r--r--package/util-linux/util-linux.mk14
2 files changed, 16 insertions, 0 deletions
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
OpenPOWER on IntegriCloud