看到网上有人分享了一些linux系统的基线检查脚本,但有些检查项未必适合自己或者说检查的不够完善,

计划按着自己的需求重新写一份出来,其中脚本的检查范围在不断更新中。

脚本内容:

[root@localhost ~]# cat check.sh
#! /bin/bash
cat <<EOF
*************************************************************************
linux安全配置检查脚本:
. 输出结果也可以在当前目录的out.txt中查看
. 检查范围:
-》账号策略检查
-》账号注销检查
-》GRUB密码检查
-》LILO密码检查 *************************************************************************
EOF rm -rf ./out.txt
echo -e "\n"
echo "[1] 账号策略检查中..." passmax=`cat /etc/login.defs | grep PASS_MAX_DAYS | grep -v ^# | awk '{print $2}'`
passmin=`cat /etc/login.defs | grep PASS_MIN_DAYS | grep -v ^# | awk '{print $2}'`
passlen=`cat /etc/login.defs | grep PASS_MIN_LEN | grep -v ^# | awk '{print $2}'`
passage=`cat /etc/login.defs | grep PASS_WARN_AGE | grep -v ^# | awk '{print $2}'` if [ $passmax -le -a $passmax -gt ];then
echo " [OK]口令生存周期为${passmax}天,符合要求" >> out.txt
else
echo " [ X ] 口令生存周期为${passmax}天,不符合要求,建议设置不大于90天" >> out.txt
fi if [ $passmin -ge ];then
echo " [OK]口令更改最小时间间隔为${passmin}天,符合要求" >> out.txt
else
echo " [ X ] 口令更改最小时间间隔为${passmin}天,不符合要求,建议设置大于等于6天" >> out.txt
fi if [ $passlen -ge ];then
echo " [OK]口令最小长度为${passlen},符合要求" >> out.txt
else
echo " [ X ] 口令最小长度为${passlen},不符合要求,建议设置最小长度大于等于8" >> out.txt
fi if [ $passage -ge -a $passage -lt $passmax ];then
echo " [OK]口令过期警告时间天数为${passage},符合要求" >> out.txt
else
echo " [ X ] 口令过期警告时间天数为${passage},不符合要求,建议设置大于等于30并小于口令生存周期" >> out.txt
fi
echo "..."
echo 'check over' echo -e "\n"
echo "[2] 账号注销检查中..." TMOUT=`cat /etc/profile | grep TMOUT | awk -F[=] '{print $2}'` if [ ! $TMOUT ];then
echo " [ X ] 账号超时不存在自动注销,不符合要求,建议设置小于600秒" >> out.txt
else
if [ $TMOUT -le -a $TMOUT -ge ] ; then
echo " [ √ ] 账号超时时间${TMOUT}秒,符合要求" >> out.txt
else
echo " [ X ] 账号超时时间$TMOUT秒,不符合要求,建议设置小于600秒" >> out.txt
fi
fi
echo "..."
echo 'check over'
echo -e "\n"
echo "[3] GRUB密码检查中..." grup_pwd=`cat /etc/grub.conf | grep -v ^# | grep password > /dev/null` if [ $? -eq ];then
echo " [ √ ] 已设置grub密码,符合要求" >> out.txt
else
echo " [ X ] 没有设置grub密码,不符合要求,建议设置grub密码" >> out.txt
fi echo "..."
echo "check over"
echo -e "\n"
echo "[4] LILO密码检查中..." if [ ! -f /etc/lilo.conf ] ; then
echo " [ √ ] lilo.conf配置文件不存在,系统可能不是通过LILO引导" >> out.txt
else
lilo_pwd=`cat /etc/lilo.conf | grep -v ^# | grep password &> /dev/null`
if [ $? -eq ];then
echo " [ √ ] 已设置lilo密码,符合要求" >> out.txt
else
echo " [ X ] 没有设置lilo密码,不符合要求,建议设置lilo密码" >> out.txt
fi
fi
echo "..."
echo "check over"
echo -e "" ## 详细过滤脚本 待更新中...## echo -e "\n"
echo "--------------------------------------------------------------------------"
echo ""
echo "检查结果:"
echo ""
cat ./out.txt
echo ""
echo "--------------------------------------------------------------------------"
echo ""
[root@localhost ~]#

执行效果:

from

linux安全配置检查脚本_v0.5的更多相关文章

  1. linux安全配置检查脚本_v0.8

    脚本环境:RHEL6.* 脚本说明:该脚本作用为纯执行检测不涉及更改配置等操作,与直接上来就改安全配置等基线脚本相比相对安全一些.虽然如此,在你执行该脚本之前仍然建议你备份或快照一下目标系统. 代码部 ...

  2. Linux安全基线检查脚本

    基线检查内容: 一:共享账号检查 配置名称:用户账号分配检查,避免共享账号存在配置要求:1.系统需按照实际用户分配账号; 2.避免不同用户间共享账号,避免用户账号和服务器间通信使用的账号共享.操作指南 ...

  3. 服务端测试环境hosts配置检查脚本

    [本文出自天外归云的博客园] 问题 由于A测试环境和B测试环境相互耦合,B测试环境切换导致我方测试环境需要更改后台服务器的响应配置.若多台服务器中有一台服务器没有更改配置,则在测试过程中将会出现问题. ...

  4. linux系统健康检查脚本

    #!/bin/bash echo "You are logged in as `whoami`"; if [ `whoami` != root ]; then echo " ...

  5. linux 安装配置kafka脚本

    安装脚本 #!/bin/bash # auto install kafka echo "========= Start to install kafka ==============&quo ...

  6. Linux CPU 核数检查脚本

    #!/bin/bash physicalNumber=0 coreNumber=0 logicalNumber=0 HTNumber=0 logicalNumber=$(grep "proc ...

  7. linux 安装配置zookeeper脚本

    #!/bin/bash # automatic install zookeeper echo "========= Start to install zookeeper ========== ...

  8. linux安装配置JDK脚本

    #!/bin/bash # install jdk and configuring environment variables function installjdk(){ tar -zxf jdk- ...

  9. linux各版本基线检查脚本(centos6、centos7、ubuntu系列)

    以下是centos7基线检查脚本: #!/bin/bash #version v1. by pensar #操作系统linux 配置规范--centos7 cat <<EOF ****** ...

随机推荐

  1. DNS服务器的维护与故障排除

    1. DNS故障诊断的常用工具或命令 诊断DNS解析故障的四个常用命令工具: ①unbound-checkconf:用于检查unbound服务器配置文件的语法错误 ②unbound-control:是 ...

  2. 使用maven编译Java项目

    摘要: 综述 本文演示了用Maven编译Java项目 需要 时间:15分钟 文本编辑器或者IDE JDK 6 或者更高版本 创建项目 本例主要为了展示Maven,所以Java的项目力求简单. 创建项目 ...

  3. 使用google chart api生成报表图片

    使用google chart api生成报表图片 截图 折线图 饼图 柱状图   实现方法 原理是调用google的报表服务,动态拼接url字符串,得到一张图片,数据和说明文字都是从url中传进去的. ...

  4. Megcup2017 Dogfood

    问题描述 小强每天会在小区的某些位置摆一些狗盆,并在狗盆里倒入不同口味的狗粮.而所有的流浪狗都会跑到离自己第k近的狗盆那里吃狗粮,一定的跑动可以帮助狗保持身材. 已知小强牌狗粮目前只有10种口味,我们 ...

  5. Hibernate+maven+eclipse 实现自动建表

    一.需求 如题,当建好Model 时,不想自己手工建表,可以采取hibernate进行自动建表.下面将用一个小例子来说明如何将其实现. 二.实现 说明:1)这里用的是4.3.1.Final版本的hib ...

  6. java struts2入门学习---中文验证、对错误消息的分离、结果(result)类型细节配置

    一.需求 利用struts2实现中文验证并对错误消息的抽离. 详细需求:用户登录-->不填写用户名-->页面跳转到用户登录页面,提示用户名必填(以英文和中文两种方式提示)-->填写英 ...

  7. Fedora下安装deb包方法

    Linux系统提供一个软件alien, 使用它能够把deb包转换成各种格式. 1. 使用yum install alien 2. 安装完成后,执行 alien -r XXXXX.deb, 即可转换成对 ...

  8. Intel Edison学习笔记(一)—— 刷系统

    一.下载安装包 1.固件安装包:官网下载地址:http://downloadmirror.intel.com/ ... image-ww25.5-15.zip2 2.烧录工具下载地址:http://d ...

  9. httpd: Could not reliably determine the server's fully qualified domain name(转)

    ttpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for Ser ...

  10. 【JQuery】jQuery中的常用方法小结

    1.层级选择器     后代选择器     "父元素  后代元素" 比如:$("div p") 选取div元素下所有的p元素 子元素选择器   "父元 ...