本文主要是介绍Centos确认CVE修复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当有大量CVE需要确认时,在环境上一个个查很麻烦,写了一个shell脚本可以自动化确认哪些CVE已经修复,哪些没有修复。dai
代码如下。
################################################
#功能:判断CVE_List.txt文件中的CVE的修复情况
#入参:CVE_List.txt文件的绝对路径
#################################################!/bin/bashRPM_LIST_FILE="/tmp/rpm.lst"
CVE_LIST_FILE=$1#功能:判断文件是否存在
#入参:文件全路径
#返回值:0--文件存在
function file_exit()
{file=$1if [ ! -f "${file}" ]thenreturn 1fireturn 0
}#功能:判断单个CVE是否修复
#入参:CVE编号
#返回值:0--CVE已经修复
function cve_fixed()
{CVE=$1result="1"while read rpmdoret=`rpm -q --changelog "${rpm}" | grep -i "${CVE}"`if [ -n "${ret}" ]thenresult="0"breakfidone < "${RPM_LIST_FILE}"if [ "${result}" == "0" ]thenreturn 0elsereturn 1fi
}
#功能:判断CVE文件中的CVE的修复情况
#入参:CVE文件列表
#返回值:无
function cves_fixed()
{CVE_List_File=$1while read CVEdocve_fixed "${CVE}"ret=$?if [ $ret -eq 0 ]thenCVE_Fix=${CVE}"fixed"sed -i "s/$CVE/$CVE_Fix/" "${CVE_List_File}"fidone < "${CVE_List_File}"
}#功能:主函数
function main()
{rm -rf "${RPM_LIST_FILE}"if [ ! -f "${RPM_LIST_FILE}" ]thentouch "${RPM_LIST_FILE}"firpm -qa > "${RPM_LIST_FILE}"cves_fixed "${CVE_LIST_FILE}"
}mainexit 0
这篇关于Centos确认CVE修复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!