1、编写脚本selinux.sh,实现开启或禁用SELinux功能  

查看SElinux配置文件

[root@CentOS7 /etc/profile.d]#cat  /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
echo "the status of selinux is disabled"

通过配置文件,可以看出SELinux共有3个状态enforcing    (执行中)
                                                                    permissive  (不执行但产生警告)
                                                                    disabled     (关闭)
1)通过修改配置文件来修改SELinux的状态
脚本

read -p "please input [disable/enable] to change selinux :" SELINUX
if [ $SELINUX = "disable" ];then                                                               
sed -in 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
echo "the status of selinux is disabled"
elif [ $SELINUX = "enable" ];then
sed -in 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
echo "the status of selinux is enabled"
fi

2)可临时设置状态(重启后失效)
setenforce 1 修改为:enforcing状态
setenforce 0 修改为:permissive状态
disabled 没有对应的值

查看selinux的状态

[root@CentOS7 /data]#/usr/sbin/sestatus
SELinux status:                 disabled
[root@CentOS7 /data]#getenforce
Disabled

2、统计/etc/fstab文件中每个文件系统类型出现的次数  

[root@CentOS7 /data/test]#awk -F" +" '/^UUID/{print $3}' /etc/fstab |uniq -c |sort -n
      1 swap
      3 xfs

3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字  

[22:19:16 root@CentOS7 /data]#echo 'Yd$C@M05MB%9&Bdh7dq+YVixp3vpw'|awk 'gsub(/[^0-9]/,"",$0)'
05973

4、解决DOS***生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT

while true 
do
netstat -an |grep ESTAB     |awk -F "[ :]+" '{print $6}' |sort|uniq -c >a.log
exec