[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Xen-devel] Re: [PATCH] install.sh: install as root with reasonablepermissions


  • To: "Horms" <horms@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Ian Pratt" <m+Ian.Pratt@xxxxxxxxxxxx>
  • Date: Fri, 2 Dec 2005 02:42:05 -0000
  • Delivery-date: Fri, 02 Dec 2005 02:42:00 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AcX26AnjCchMiR5/S6+RnX9BheVS6wAAdYaQ
  • Thread-topic: [Xen-devel] Re: [PATCH] install.sh: install as root with reasonablepermissions

 
> I played around with a few other ideas and I think that the 
> /tmp option is a clean and easy solution. Here is a patch 
> that does this.

If this is well tested, and no one else can think of any drawbacks, I
suggest we apply.

Thanks,
Ian
 
> # HG changeset patch
> # User Horms <horms@xxxxxxxxxxxx>
> # Node ID 651f32f67427ebb167eb2b6d921182bb21da2a7b
> # Parent  340bec28050f360b9d800fb354abfd6b5ee80bd2
> [INSTALL] Fix owner and permissions for installed files
> 
> Make sure that installed files have sensible permissions and 
> are owned by the user running install, presumably root.
> 
> Without this patch, if the user that does the build has a 
> restrictive umask, say 0077, and the install is done into /, 
> then /lib, will become only accessable to that user.
> 
> Signed-Off-By: Horms <horms@xxxxxxxxxxxx>
> 
> diff -r 340bec28050f -r 651f32f67427 install.sh
> --- a/install.sh      Fri Dec  2 02:16:21 2005
> +++ b/install.sh      Fri Dec  2 02:21:15 2005
> @@ -22,19 +22,25 @@
>    exit 1
>  fi
>  
> +tmp="`mktemp -d`"
> +
>  echo "Installing Xen from '$src' to '$dst'..."
> -(cd $src; tar -cf - --exclude etc/init.d --exclude 
> etc/hotplug --exclude etc/udev * ) | tar -C $dst -xf - -cp 
> -fdRL $src/etc/init.d/* $dst/etc/init.d/
> +(cd $src; tar -cf - --exclude etc/init.d --exclude etc/hotplug 
> +--exclude etc/udev * ) | tar -C "$tmp" -xf - cp -fdRL 
> $src/etc/init.d/* 
> +"$tmp"/etc/init.d/
>  echo "All done."
>  
>  [ -x "$(which udevinfo)" ] && \
>    UDEV_VERSION=$(udevinfo -V | sed -e 's/^[^0-9]* 
> \([0-9]\{1,\}\)[^0-9]\{0,\}/\1/')
>  
>  if [ -n "$UDEV_VERSION" ] && [ $UDEV_VERSION -ge 059 ]; then
> -  cp -f $src/etc/udev/rules.d/*.rules $dst/etc/udev/rules.d/
> +  cp -f $src/etc/udev/rules.d/*.rules "$tmp/etc/udev/rules.d/"
>  else
> -  cp -f $src/etc/hotplug/*.agent $dst/etc/hotplug/
> +  cp -f $src/etc/hotplug/*.agent "$tmp/etc/hotplug/"
>  fi
> +
> +chmod -R a+rX "$tmp"
> +(cd $tmp; tar -cf - *) | tar --no-same-owner -C "$dst" -xf - rm -r 
> +"$tmp"
>  
>  echo "Checking to see whether prerequisite tools are installed..."
>  cd $src/../check
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.