filesystems: also chown symlinks
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
@@ -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
@@ -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
@@ -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
Thomas Petazzoni
AppliedPATCH 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.
Reported-by Angelo Dureghello <[email protected]>Signed-off-by "Yann E. MORIN" <[email protected]>Cc Thomas De Schampheleire <[email protected]>
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com