linux系统自查脚本

Posted 火星上烤鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统自查脚本相关的知识,希望对你有一定的参考价值。

linux 自查脚本

echo "系统巡检脚本:Version `date +%F`"
echo -e "\\033[33m*******************************************************系统检查 *******************************************************\\033[0m"
echo "系统:`uname -a | awk '{print $NF}'`"
echo "发行版本:`cat /etc/redhat-release`"
echo "内核:`uname -r`"
echo "主机名:`hostname`"
echo "SELinux:`/usr/sbin/sestatus | grep 'SELinux status:' | awk '{print $3}'`"
echo "语言/编码:`echo $LANG`"
echo "当前时间:`date +%F_%T`"
echo "最后启动:`who -b | awk '{print $3,$4}'`"
echo "运行时间:`uptime | awk '{print $3}' | sed 's/,//g'`"
echo -e "\\033[33m*******************************************************CPU检查 *******************************************************\\033[0m"
echo "物理CPU个数: `cat /proc/cpuinfo | grep "physical id" | awk '{print $4}' | sort | uniq | wc -l`"
echo "逻辑CPU个数: `cat /proc/cpuinfo | grep "processor" | awk '{print $3}' | sort | uniq | wc -l`"
echo "每CPU核心数: `cat /proc/cpuinfo | grep "cores" | awk '{print $4}'`"
echo "CPU型号: `cat /proc/cpuinfo | grep "model name" | awk -F":" '{print $2}'`"
echo "CPU架构: `uname -m`"
echo -e "\\033[33m*******************************************************内存检查 *******************************************************\\033[0m"
echo "总共内存:`free -mh | awk "NR==2"| awk '{print $2}'`"
echo "使用内存:`free -mh | awk "NR==2"| awk '{print $3}'` "
echo "剩余内存:`free -mh | awk "NR==2"| awk '{print $4}'`"
echo -e "\\033[33m*******************************************************硬盘检查 *******************************************************\\033[0m"
echo "总共磁盘大小:`df -hT | awk "NR==2"|awk '{print $3}'`"
echo -e "\\033[33m*******************************************************网络检查 *******************************************************\\033[0m"
echo `ip a | grep eno | awk "NR==2" | awk '{print $NF,":",$2}'`
echo "网关:`ip route | awk 'NR==1'| awk '{print $3}'`"
echo "DNS: `cat /etc/resolv.conf | grep "nameserver" | awk '{print $2}'`"
ping -c 4 www.baidu.com > /dev/null
if [ $? -eq 0 ] ; then
    echo "网络连接:正常"
else
    echo "网络连接:失败"
fi
echo -e "\\033[33m*******************************************************安全检查 *******************************************************\\033[0m"
echo "登陆用户信息:`last | grep "still logged in" | awk '{print $1}'| sort | uniq`"
md5sum -c --quiet /etc/passwd > /dev/null 2&>1
if [ $? -eq 0 ];then
    echo "文件未被串改"
else
    echo "文件被串改"
fi

在这里插入图片描述

常用命令总结

系统检查

系统

uname -a
uname -a | awk '{print $NF}'
在这里插入图片描述

发行版本

cat /etc/redhat-release

在这里插入图片描述

内核
uname -r

在这里插入图片描述

主机名

hostname

在这里插入图片描述

SELinux

/usr/sbin/sestatus 
/usr/sbin/sestatus | grep 'SELinux status:' | awk '{print $3}'

在这里插入图片描述

语言/编码

echo $LANG

在这里插入图片描述

当前时间

date +%F_%T

在这里插入图片描述

最后启动

  • who命令显示关于当前在本地系统上的所有登录用户的信息
  • 显示以下内容:登录名、tty、登录日期和时间
  • who 命令也能显示自从线路活动发生以来经过的时间、命令解释(shell)的进程标识、登录、注销、重新启动和系统时钟的变化,还能显示由初始化进程生成的其它进程。
who -b 系统最近启动时间和日期
who -b | awk '{print $3,$4}'

在这里插入图片描述

运行时间

  • (Uptime)是指某时间段内计算机或通信系统正常工作的总时长。
  • 与上线时间相反的是宕机时间或下线时间(Downtime)
uptime 
uptime | awk '{print $3}' | sed 's/,//g'

在这里插入图片描述

  • 当前时间 23:43:07
  • 系统已运行的时间 0 days, 27 min
  • 当前在线用户 2 users
  • 平均负载:0.01, 0.04, 0.12,最近1分钟、5分钟、15分钟系统的负载

CPU检查

物理CPU个数

cat /proc/cpuinfo | grep "physical id" | awk '{print $4}' | sort | uniq | wc -l
在这里插入图片描述

逻辑CPU个数

cat /proc/cpuinfo | grep "processor" | awk '{print $3}' | sort | uniq | wc -l
在这里插入图片描述

每CPU核心数

cat /proc/cpuinfo | grep "cores" | awk '{print $4}'

在这里插入图片描述

CPU型号

cat /proc/cpuinfo | grep "model name" | awk -F":" '{print $2}'
在这里插入图片描述

CPU架构

uname -m

在这里插入图片描述

内存检查

在这里插入图片描述

总共内存

free -mh | awk "NR==2"| awk '{print $2}'
在这里插入图片描述

使用内存

echo "使用内存:`free -mh | awk "NR==2"| awk '{print $3}'` "
在这里插入图片描述

剩余内存

free -mh | awk "NR==2"| awk '{print $4}'

在这里插入图片描述

硬盘检查

总共磁盘大小

df -hT | awk "NR==2"|awk '{print $3}'
在这里插入图片描述

网络检查

网关、DNS

ip a | grep eno | awk "NR==2" | awk '{print $NF,":",$2}'
ip route | awk 'NR==1'| awk '{print $3}'
cat /etc/resolv.conf | grep "nameserver" | awk '{print $2}'

在这里插入图片描述

ping -c 4 www.baidu.com > /dev/null
if [ $? -eq 0 ] ; then
    echo "网络连接:正常"
else
    echo "网络连接:失败"
fi

在这里插入图片描述

安全检查

登陆用户信息

last | grep "still logged in" | awk '{print $1}'| sort | uniq

在这里插入图片描述

查看文件是否被串改

md5sum -c --quiet /etc/passwd > /dev/null 2&>1
if [ $? -eq 0 ];then
    echo "文件未被串改"
else
    echo "文件被串改"
fi

在这里插入图片描述

检查文件是否被串改

#!/bin/bash
funmd5_1() {
find /etc/passwd -type f | xargs md5sum > /tmp/funmd5_1.log
}
funmd5_2() {
find /etc/passwd -type f | xargs md5sum > /tmp/funmd5_2.log
}
if [ ! -f /tmp/funmd5_1.log ];then
funmd5_1
fi
funmd5_2
diff /tmp/funmd5_1.log /tmp/funmd5_2.log > /tmp/diff.log
Status=$?
if [ $Status = 0 ];then
echo "文件未被修改!"
exit
else
echo "文件修改过了!"
fi

在这里插入图片描述

摘抄


永远不要去追一匹马,
用追马的时间去种草。
”人活着,
最要紧的不是取悦他人,
而是丰富自己。
尽情享受生活的美好,
不断丰盈生命的底色,
才不负来这人间一趟。


以上是关于linux系统自查脚本的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

C++笔记--Linux网络编程(15-0)-socket(供自查,文档说明)

C++笔记--Linux网络编程(15-0)-socket(供自查,文档说明)

目录---(更新中...)

安装程序遇阻时的自查思路

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段