|  | #!/bin/sh | 
|  | if [ `id -u` -ne 0 ]; then | 
|  | echo "$0: must be root to install the selinux policy" | 
|  | exit 1 | 
|  | fi | 
|  | SF=`which setfiles` | 
|  | if [ $? -eq 1 ]; then | 
|  | if [ -f /sbin/setfiles ]; then | 
|  | SF="/usr/setfiles" | 
|  | else | 
|  | echo "no selinux tools installed: setfiles" | 
|  | exit 1 | 
|  | fi | 
|  | fi | 
|  |  | 
|  | cd mdp | 
|  |  | 
|  | CP=`which checkpolicy` | 
|  | VERS=`$CP -V | awk '{print $1}'` | 
|  |  | 
|  | ./mdp policy.conf file_contexts | 
|  | $CP -o policy.$VERS policy.conf | 
|  |  | 
|  | mkdir -p /etc/selinux/dummy/policy | 
|  | mkdir -p /etc/selinux/dummy/contexts/files | 
|  |  | 
|  | cp file_contexts /etc/selinux/dummy/contexts/files | 
|  | cp dbus_contexts /etc/selinux/dummy/contexts | 
|  | cp policy.$VERS /etc/selinux/dummy/policy | 
|  | FC_FILE=/etc/selinux/dummy/contexts/files/file_contexts | 
|  |  | 
|  | if [ ! -d /etc/selinux ]; then | 
|  | mkdir -p /etc/selinux | 
|  | fi | 
|  | if [ ! -f /etc/selinux/config ]; then | 
|  | cat > /etc/selinux/config << EOF | 
|  | SELINUX=enforcing | 
|  | SELINUXTYPE=dummy | 
|  | EOF | 
|  | else | 
|  | TYPE=`cat /etc/selinux/config | grep "^SELINUXTYPE" | tail -1 | awk -F= '{ print $2 '}` | 
|  | if [ "eq$TYPE" != "eqdummy" ]; then | 
|  | selinuxenabled | 
|  | if [ $? -eq 0 ]; then | 
|  | echo "SELinux already enabled with a non-dummy policy." | 
|  | echo "Exiting.  Please install policy by hand if that" | 
|  | echo "is what you REALLY want." | 
|  | exit 1 | 
|  | fi | 
|  | mv /etc/selinux/config /etc/selinux/config.mdpbak | 
|  | grep -v "^SELINUXTYPE" /etc/selinux/config.mdpbak >> /etc/selinux/config | 
|  | echo "SELINUXTYPE=dummy" >> /etc/selinux/config | 
|  | fi | 
|  | fi | 
|  |  | 
|  | cd /etc/selinux/dummy/contexts/files | 
|  | $SF file_contexts / | 
|  |  | 
|  | mounts=`cat /proc/$$/mounts | egrep "ext2|ext3|xfs|jfs|ext4|ext4dev|gfs2" | awk '{ print $2 '}` | 
|  | $SF file_contexts $mounts | 
|  |  | 
|  |  | 
|  | dodev=`cat /proc/$$/mounts | grep "/dev "` | 
|  | if [ "eq$dodev" != "eq" ]; then | 
|  | mount --move /dev /mnt | 
|  | $SF file_contexts /dev | 
|  | mount --move /mnt /dev | 
|  | fi | 
|  |  |