add sliceimage post for mlab
authorStephen Soltesz <stephen.soltesz@gmail.com>
Tue, 30 Apr 2013 02:01:04 +0000 (22:01 -0400)
committerStephen Soltesz <stephen.soltesz@gmail.com>
Tue, 30 Apr 2013 02:01:04 +0000 (22:01 -0400)
config.mlab/sliceimage.post [new file with mode: 0644]

diff --git a/config.mlab/sliceimage.post b/config.mlab/sliceimage.post
new file mode 100644 (file)
index 0000000..262a2ff
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+vdir=$1
+
+if [ -z "${vdir}" ] ; then
+       echo "ERROR: $0"
+       echo "Provide the directory of the root filesystem to operate on"
+       exit
+fi
+
+# reset root password to be empty
+echo "in slice image: resetting root password"
+sed -i -e "s/root:[\*|x]/root:/" ${vdir}/etc/passwd
+
+# modify the sudoers file to remove the 'requiretty' attribute
+echo "in slice image: removing requiretty from /etc/sudoers"
+sed -i -e 's,^\(Defaults.*requiretty\),#\1,' ${vdir}/etc/sudoers
+
+# disable Upstart by creating a symlink to /bin/true
+#mv ${vdir}/sbin/initctl ${vdir}/sbin/initctl.orig
+chroot ${vdir} mv /sbin/initctl /sbin/initctl.orig
+chroot ${vdir} ln /bin/true /sbin/initctl 
+
+# Fix up /etc/init.d/halt 
+# xxx this would be wrong in f>=16 because there's no /sbin anymore
+# but I suspect this is for vserver only..
+echo "in slice image: fixing /etc/init.d/halt"
+cat > ${vdir}/etc/init.d/halt <<EOF
+#!/bin/bash
+exec /sbin/killall5 -15
+EOF
+
+# make sure we do not end up with an empty /selinux 
+# libvirt gets all confused when that happens
+cd ${vdir}
+if [ -d selinux ] ; then
+    if [ "$(ls -A selinux)" ] ; then
+       echo "sliceimage.post: WARNING: ${vdir}/selinux is not empty - preserving"
+    else
+       echo "sliceimage.post: REMOVING empty ${vdir}/selinux"
+       rmdir selinux
+    fi
+fi
+cd -