From 286fbebdaf4bc4954a3206ca11f1d14f9267a7fd Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Thu, 30 Jan 2014 16:11:40 +0100 Subject: [PATCH] dracut.sh: only set the owner of files to 0:0, if generated as non-root If the root user generates the initramfs image, preserve the ownership of the files. This of course cannot be done for non-root users generating an initramfs image. --- dracut.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dracut.sh b/dracut.sh index 58acb64..4e23993 100755 --- a/dracut.sh +++ b/dracut.sh @@ -1377,13 +1377,16 @@ fi rm -f -- "$outfile" dinfo "*** Creating image file ***" + +[[ "$UID" != 0 ]] && cpio_owner_root="-R 0:0" + if [[ $create_early_cpio = yes ]]; then echo 1 > "$early_cpio_dir/d/early_cpio" # The microcode blob is _before_ the initramfs blob, not after - (cd "$early_cpio_dir/d"; find . -print0 | cpio --null -R 0:0 -H newc -o --quiet >../early.cpio) + (cd "$early_cpio_dir/d"; find . -print0 | cpio --null $cpio_owner_root -H newc -o --quiet >../early.cpio) mv $early_cpio_dir/early.cpio $outfile.$$ fi -if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null -R 0:0 -H newc -o --quiet | \ +if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null $cpio_owner_root -H newc -o --quiet | \ $compress >> "$outfile.$$"; ); then dfatal "dracut: creation of $outfile.$$ failed" exit 1