Use sudo in VM
[gruntmaster-daemon.git] / ex / makevm
index 433370f71357a9ca16b2337faa33439eda9d893a..bf240c3c58e66a78889a9a977a3df3898c7d6349 100755 (executable)
--- a/ex/makevm
+++ b/ex/makevm
@@ -1,10 +1,17 @@
 #!/bin/bash
-[ `id -u` -eq 0 ] || echo 'This script must be run as root' && exit 1
+GROUP=$(getent group www-data | cut -f3 -d:)
+USER=$(getent passwd www-data | cut -f3 -d:)
+
 rm -rf vm/ vm.squashfs
-multistrap -f vm.conf
+mkdir -p vm/proc/
+mount /proc -o bind vm/proc
+multistrap -f ex/vm.conf
 ln -s vm/usr/bin/mawk vm/bin/awk
-echo 'virtfs /mnt 9p trans=virtio,auto 0 0' > vm/etc/fstab
 echo '/sbin/poweroff -f' > vm/.bash_logout
+cat > vm/etc/fstab <<EOF
+virtfs /mnt 9p    trans=virtio,auto 0 0
+tmpfs  /tmp tmpfs defaults          0 0
+EOF
 cat > vm/.profile <<EOF
 mount -a
 stty -F /dev/ttyS1 -echo
@@ -17,7 +24,13 @@ squashfs
 9pnet
 9pnet_virtio
 EOF
-cp gruntmaster-exec gruntmaster-compile vm/usr/bin/
+cat >> vm/etc/sudoers <<EOF
+Defaults>nobody closefrom=5
+Defaults>nobody !env_check
+Defaults>nobody env_keep="ONLINE_JUDGE PATH HOME"
+EOF
+install gruntmaster-exec gruntmaster-compile vm/usr/bin/
 chroot vm update-initramfs -d -k 3.2.0-4-amd64
 chroot vm update-initramfs -c -k 3.2.0-4-amd64
+umount vm/proc
 mksquashfs vm vm.squashfs -comp lzo
This page took 0.00927 seconds and 4 git commands to generate.