shell 脚本练习

回复 收藏
大家先普及一小段知识,我们用ps-aux可以查看到进程的PID,而每个PID都会在/proc内产生.如果查看到的pid而proc内是没有的.则是进程被人修改了.这就代表你的系统已经被入侵过了.这个检测也尤其重要并简单..请大家用上面知识编写一个shell.让他定期检查下自己的系统是否被人入侵过..
(应用知识点,for in do done 和 判断)
2015-12-30 10:32 举报
已邀请:
0

zyos

赞同来自:

{:4_103:}
0

hlymlv

赞同来自:

#!/bin/bash
for i in `ps aux|grep -v 'ps aux'|awk '{print $2}'|grep -v 'PID'`
do
if [ -d /proc/$i ];then
echo ok >/dev/null
else
echo "$i:bad"
fi
done
学习了  谢谢
0

loveyouhyf

赞同来自:

ps aux与proc里怎么都会有不一样的,两条命条不是同时判断的,不知如何写这个脚本,还请楼主、阿铭老师指教或其它高手指教,谢谢
0

Remember犬牙

赞同来自:

这么快 就会编写了
0

rolay8

赞同来自:

  1. #!/bin/bash

  2. ps aux|awk '/[0-9]/ {print $2}'|while read pid
  3. do
  4. result=`find /proc/ -maxdepth 1 -type d -name "$pid"`
  5. if [ -z $result ]; then
  6.     echo "$pid abnormal!"
  7. fi
  8. done


有一个弊端就是执行脚本会产生三个瞬时pid,无法避免。ps,awk和sh

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: