|
这篇文章为大家带来inux记录命令md5值的使用方法。大部分知识点都是大家经常用到的,为此分享给大家做个参考。一起跟随小编过来看看吧。
1.记录当前命令:
sh CheckCommDDCW.sh
2.记录新增命令或被修改命令(关键词add可以替换为任意非空字符串):
sh CheckCommDDCW.sh add
代码如下:git下载:https://codeload.github.com/ddcw/shell/zip/master
#!/bin/env bash#write by ddcw#6121 +%s`file_name=~/.UserCheckCom.txtnew_comm_n=0change_comm_n=0new_comm=""change_comm=""[ -f ${file_name} ] || touch ${file_name}for i in $(compgen -c)do ?if which $i >/dev/null 2>&1 ??then ???md5_n=$(md5sum $(which $i) | awk '{print $1}') ???if cat ${file_name} | grep "\#$i\#" >/dev/null 2>&1 ????then ???# ?echo $(cat ${file_name} | grep "\#$i\#") ?????md5_o=$(cat ${file_name} | grep "\#$i\#" | tail -1 | awk '{print $NF}') ?????if [ "${md5_n}" != "${md5_o}" ] ?????then ???????#echo -e "COMMD \033[1;41;33m $i \033[0m may be Changed: old_MD5: ${md5_o} ?new_MD5: ${md5_n}" ???????[ -z $1 ] || echo -e "#${i}# \t $(date +%Y%m%d-%H:%M:%S) \t ${md5_n}" >> ${file_name} ???????change_comm_n=$[ ${change_comm_n} + 1] ???????change_comm="${change_comm} ${i}" ?????fi ???else ?????if [ "${i}" != '[' ] ?????then ???????new_comm_n=$[ ${new_comm_n} + 1] ???????new_comm="${new_comm} ${i}" ???????#echo -e "\033[32;40m$i \033[0m" ???????echo -e "#${i}# \t $(date +%Y%m%d-%H:%M:%S) \t ${md5_n}" >> ${file_name} ?????fi ???fi ?fi doneecho ""if [ ${new_comm_n} -gt 0 ]then ?echo -e "\033[31;40m Total Add ${new_comm_n} commd \033[0m" ?echo "${new_comm}"else ?echo -e "\033[32;40m No Command Added ,It's Seccurity!\033[0m\n"fiif [ ${change_comm_n} -gt 0 ]then ?echo -e "\033[31;40m Total Changed ${change_comm_n} commd \033[0m" ?echo "${change_comm}"else ?echo -e "\033[32;40m No Command Changed ,It's Seccurity!\033[0m"fiendtime=`date +%s`costm=`echo ${begintime} ${endtime} | awk '{print ($2-$1)/60}'`echo -e "\n\033[32;40m `date +%Y%m%d-%H:%M:%S` cost ${costm} minutes\033[0m"以上就是inux记录命令md5值的使用方法,代码示例简单明了,如果在日常工作遇到此问题。通过这篇文章,希望你能有所收获,更多详情敬请关注Vecloud行业资讯频道! |
|