Skip to contentSkip to conversation

filesystems: also chown symlinks

PATCH New Yann E. MORIN 2 participants 2 messages Jun 8, 2014 – Jun 9, 2014 VFS

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 filesystems: also chown symlinks

From: "Yann E. MORIN" <[email protected]>

Currently, the symlinks in the generated filesystems will have the UID of the user running the build, because 'chown' does not change the ownership of symlinks, by default.

Although the implications are limited, some may not want that UID to leak in the generated filesystems.

So, use 'chown -h' so even symlinks get properly chowned.

---
Note: 'chown -h' exist since 1996-05-19, so we can safely use it! :-)

---
 fs/common.mk            | 2 +-
 fs/iso9660/iso9660.mk   | 2 +-
 support/scripts/mkusers | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
fs/common.mk +1 -1
index 2adaf8c..45f88b2 100644
@@ -70,7 +70,7 @@ $$(BINARIES_DIR)/rootfs.$(1): target-finalize $$(ROOTFS_$(2)_DEPENDENCIES)
 	rm -f $$(FAKEROOT_SCRIPT)
 	rm -f $$(TARGET_DIR_WARNING_FILE)
 	rm -f $(USERS_TABLE)
-	echo "chown -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
+	echo "chown -h -R 0:0 $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
 ifneq ($$(ROOTFS_DEVICE_TABLES),)
 	cat $$(ROOTFS_DEVICE_TABLES) > $$(FULL_DEVICE_TABLE)
 ifeq ($$(BR2_ROOTFS_DEVICE_CREATION_STATIC),y)
fs/iso9660/iso9660.mk +1 -1
index 6c8ace0..b0e755d 100644
@@ -29,7 +29,7 @@ else
 endif
 	# Use fakeroot to pretend all target binaries are owned by root
 	rm -f $(FAKEROOT_SCRIPT)
-	echo "chown -R 0:0 $(ISO9660_TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
+	echo "chown -h -R 0:0 $(ISO9660_TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
 	# Use fakeroot so mkisofs believes the previous fakery
 	echo "$(HOST_DIR)/usr/bin/genisoimage -R -b boot/grub/stage2_eltorito -no-emul-boot " \
 		"-boot-load-size 4 -boot-info-table -o $@ $(ISO9660_TARGET_DIR)" \
support/scripts/mkusers +1 -1
index 3fa0fa8..ffd192d 100755
@@ -342,7 +342,7 @@ add_one_user() {
     # (Note: stdout goes to the fakeroot-script)
     if [ "${home}" != "-" ]; then
         mkdir -p "${TARGET_DIR}/${home}"
-        printf "chown -R %d:%d '%s'\n" "${uid}" "${_gid}" "${TARGET_DIR}/${home}"
+        printf "chown -h -R %d:%d '%s'\n" "${uid}" "${_gid}" "${TARGET_DIR}/${home}"
     fi
 }
 
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 filesystems: also chown symlinks

Dear Yann E. MORIN,

Quoted 6 lines · Yann E. MORIN

From: "Yann E. MORIN" <[email protected]>

Currently, the symlinks in the generated filesystems will have the UID of the user running the build, because 'chown' does not change the ownership of symlinks, by default.

Quoted 8 lines

Although the implications are limited, some may not want that UID to leak in the generated filesystems.

So, use 'chown -h' so even symlinks get properly chowned.

Applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com