51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

SELinux轻松一键开启与禁用脚本

|----|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 导读 | SELinux是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。但是SELinux的并不能与众多服务很好的兼容,有些人会关闭SELinux一了百了。在日常的运维过程中很少去频繁的开启关闭SElinux,今天我就写一个关闭与开启SELinux的脚本来锻炼我的脚本能力。 |

脚本代码

#!/bin/bash  
#  -------------+--------------------   
# * Filename    :       selinux.sh           
# * Revision    :       2.0             
# * Date        :       2017-09-02
# * Author      :       Aubin           
# * Description :                       
#  -------------+---------------------
#       www.shuaiguoxia.com
#
path=/app/selinux
selinux=`sed -rn "/^(SELINUX=).*\$/p" $path`
case $1 in
enforcing|en)
`    sed -ri "s@^(SELINUX=).*\$@\1enforcing@g" $path
    if [ $selinux ==  'SELINUX=disabled' ];then
            read -p "SELinux enforcing. you need reboot system ( yes or no ):" input
            [ $input == 'yes' -o $input == 'y' ] && reboot || echo "please Manual operation reboot"
    else
            echo "SELinux enforcing."
    fi
    ;;
`
permissive|per|pe)
sed -ri "s@^(SELINUX=).$@\\1permissive@g" $path
if \[ $selinux == 'SELINUX=disabled' \];then
read -p "SELinux permissive. you need reboot system ( yes or no ):" input
\[ $input == 'yes' -o $input == 'y'\] \&\& reboot \|\| echo "please Manual operation reboot"
else
echo "SELINUX permissive"
fi
;;
disabled\|dis\|di)
sed -ri "s@\^(SELINUX=).$@\1disabled@g" $path
if [ $selinux == 'SELINUX=enforcing' ];then
read -p "SELinux permissive. you need reboot system ( yes or no ):" input
[ $input == 'yes' -o $input == 'y' ] && reboot || echo "please Manual operation reboot"
else
echo "SELINUX disabled"
fi
;;
l|a)
echo `sed -nr 's@(^SELINUX=.*)@\1@p' $path`
;;
help|--help)
echo "$0 [ enforcing | permissive | disabled  ]"
;;
*)
echo "$0 [ enforcing | permissive | disabled  ]"
`    ;;
`
esac

脚本测试

根据case语句对用户的位置变量(输入的参数)进行判断,进而根据不同的参数实现不同的效果。

SELinux在enforcing状态与disabled状态切换时必须要进行重启才能生效,所以要在脚本中判断用户之前的SELinux的状态是什么样的,询问用户是否进程重启操作系统。

原文来自:http://www.cnblogs.com/aubin/p/7468196.html

本文地址:https://www.linuxprobe.com/selinux-open-disable.html编辑:何云艳,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/selinux-open-disable.html编辑:向云艳,审核员:暂无

赞(1)
未经允许不得转载:工具盒子 » SELinux轻松一键开启与禁用脚本