From 6cdf25289c07141135e014eaeca742c2f39ff5c3 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jow@openwrt.org>
Date: Tue, 5 Jun 2012 18:02:00 +0000
Subject: [PATCH] base-files: add permission exceptions, do not clobber shadow
 permissions - based on patch by Mark Mentovai <mark@moxienet.com>

SVN-Revision: 32073
---
 include/image.mk            | 2 +-
 package/base-files/Makefile | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/include/image.mk b/include/image.mk
index 473e391ae4d..b0d6dfae610 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -142,7 +142,7 @@ endif
 
 define Image/mkfs/prepare/default
 	# Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits
-	- $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r
+	- $(FIND) $(TARGET_DIR) -type f -not -perm +0100 -not -name 'ssh_host*' -not -name 'shadow' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r
 	- $(FIND) $(TARGET_DIR) -type f -perm +0100 -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx
 	- $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx
 	$(INSTALL_DIR) $(TARGET_DIR)/tmp
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 68c8e0233be..88167b788bf 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -470,6 +470,10 @@ define Package/base-files/install
 	ln -sf /tmp $(1)/var
 	mkdir -p $(1)/etc
 	ln -sf /tmp/resolv.conf /tmp/fstab /tmp/TZ $(1)/etc/
+
+	chmod 0600 $(1)/etc/shadow
+	chmod 1777 $(1)/tmp
+
 	$(call ImageConfigOptions,$(1))
 	$(call Package/base-files/install-target,$(1))
 	for conffile in $(1)/etc/config/*; do \
-- 
GitLab