]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commitdiff
util-linux: add selinux support
authorMatt Weber <matthew.weber@rockwellcollins.com>
Tue, 6 Dec 2016 20:27:04 +0000 (21:27 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 25 Jan 2017 10:05:20 +0000 (23:05 +1300)
This patch adds optional libselinux support to the util-linux package,
and also tweaks the PAM files instealled by util-linux to work properly
in an SELinux context.

Like was done for linux-pam, the tweak is done by having the SELinux
related lines commented out in the original PAM file, and uncommented
when SELinux support is enabled.

Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Niranjan Reddy <niranjan.reddy@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/util-linux/su.pam
package/util-linux/util-linux.mk

index f000c39dbd80577ced720bbf14dbbd38456b9819..84b18605ce3ba931435734417adc7bdb83731fab 100644 (file)
@@ -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
index 53a6d9b78094a05e1cd24c3bad58c4cec4ddc017..84c4f0ec097c287b73386d5d1a4067c5bc17d180 100644 (file)
@@ -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