Trying to upload all related projects
[easy-deb-chroot] / fremantle / easy-chroot / src / usr / bin / quserchroot
diff --git a/fremantle/easy-chroot/src/usr/bin/quserchroot b/fremantle/easy-chroot/src/usr/bin/quserchroot
new file mode 100755 (executable)
index 0000000..6963d7c
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/sh
+# Chroots and runs a shell or any command as non-root.
+
+# By Alan M Bruce (qole) and Benson Mitchell
+#
+# GPL licensed; keep code free!
+
+if [ "`whoami`" = "root" ] ; then
+  echo "please don't run me as root!"
+  exit 9
+fi
+
+if [ "$#" -lt "2" ] ; then
+  echo "You need at least 2 parameters:"
+  echo "    filesystem-location and mountpoint"
+  exit 9
+fi
+
+IMGFILE=$1
+shift 1
+
+CHROOT=$1
+shift 1
+
+# If CHROOTUSER is set, use it. 
+# Otherwise fall back on current user
+[ "x$CHROOTUSER" != x ] || CHROOTUSER=`whoami`
+
+#Note use of su below, so no chroot-side script req'd to drop privileges.
+#With no args, use a shell; su will get the right one, with no -c
+#With args, just run them as $CHROOTUSER.
+if [ $# = 0 ] ; then
+  echo As $CHROOTUSER, starting chroot shell...
+  sudo /sbin/qchroot $IMGFILE $CHROOT su $CHROOTUSER
+else
+  echo As $CHROOTUSER, starting chroot $1
+  sudo /sbin/qchroot $IMGFILE $CHROOT su $CHROOTUSER -c "$*"
+fi