• 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的状态是什么样的,询问用户是否进程重启操作系统。
  • 相关阅读:
    office2010卸载出现安装程序包的语言不支持
    Red Hat 7.5 Yum Replacement
    0801作业
    0730会员注册
    0730作业2:随机生成6位的字符串验证码,要求包含数字、大小写字母
    0730作业一练习:输出学习阶段目标
    0727作业1 根据学员英文名找到学员对象
    注册
    随机数
    Map
  • 原文地址:https://www.cnblogs.com/aubin/p/7468196.html
Copyright © 2020-2023  润新知