DIR=`pwd`
echo "Backing up /etc/fstab for good measure ..."
cp --reply=yes /etc/fstab /etc/fstab.bak
if [ "`sed -e "/.*\/tmp.*/d" /etc/fstab`" == "" ] ; then
	echo "Error modifying fstab.  Chickening out!"
	exit 1
else
	echo "Modifying /etc/fstab"
	sed -e "/.*\/tmp.*/d" /etc/fstab.bak | sed "s/\/dev\/shm *tmpfs *defaults/\/dev\/shm\ttmpfs\tnosuid,noexec,acls/" > /etc/fstab
	echo "Mounting /tmp noexec, Please wait ..."
	cp -Rp /tmp /tmp_backup 
	for mount in `mount | grep '/tmp' | awk '{print $3}'` ; do 
		umount -l $mount 2>/dev/null
	done
	cd /dev/
	rm -f tmpMnt
	dd if=/dev/zero of=tmpMnt bs=1024 count=1024000 2>&1>/dev/null
	/sbin/mke2fs -F /dev/tmpMnt 2>&1>/dev/null
	mount -o loop,noexec,nosuid,rw /dev/tmpMnt /tmp 
	chmod 1777 /tmp 
	cp -Rp /tmp_backup/* /tmp/ 
	umount /dev/shm 
	mount /dev/shm 
	mv /var/tmp /var/tmp_backup
	ln -s /tmp /var
	mv /var/tmp_backup/* /var/tmp 2>/dev/null
	mv /var/tmp_backup/.[!.]* /var/tmp 2>/dev/null
	rm -rf /tmp_backup
	echo -e "/dev/tmpMnt\t/tmp\text2\tloop,noexec,nosuid,rw,acl\t0\t0" >> /etc/fstab
	echo "Mounting virtual sites' /tmp folders ..."
	for domain in `sitelookup -a domain` ; do 
		adminuser="`fgrep "www.$domain" /etc/virtualhosting/mappings/apache.domainmap | cut -f2 -d= | sed 's/ //g'`"
		if [ "$adminuser" != "" ] ; then
			mkdir /tmp/$domain 2>/dev/null
			chmod 1777 /tmp/$domain
			chown admin$adminuser.admin$adminuser /tmp/$domain
			echo -e "/tmp/$domain\t/home/virtual/$domain/tmp\text2\trw,bind\t0\t0" >> /etc/fstab
			mount /home/virtual/$domain/tmp
		fi
	done	
	if [ -f /etc/rc.d/init.d/postgresql ] ; then
		service postgresql restart
		service webppliance restart
	fi
fi

cd $DIR

if [ "`fgrep 'securedtmp.sh' /etc/appliance/customization/virtDomain.sh`" == "" ] ; then
	echo -e "# Secured /tmp\n\t/etc/appliance/customization/securedtmp.sh \$1\n# End Secured /tmp" >> /etc/appliance/customization/virtDomain.sh 
fi

if [ "`fgrep '/etc/fstab.tmp' /etc/appliance/customization/deleteVirtDomain.sh 2>/dev/null`" == "" ] ; then
	cat deleteVirtDomain.sh >> /etc/appliance/customization/deleteVirtDomain.sh
fi

cp --reply=yes securedtmp.sh /etc/appliance/customization
chmod +x /etc/appliance/customization/securedtmp.sh /etc/appliance/customization/deleteVirtDomain.sh /etc/appliance/customization/virtDomain.sh
