不管在甲方/乙方,都不可避免的回遇见需要应急的情况,本文记录了在网上找的一些常用命令,供自己平常查阅,主要从日志分析、异常连接、异常进程以及历史命令等几方面来说,欢迎斧正。
日志分析
1、除root之外,是否还有其它特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd
2、可以远程登录的帐号信息
awk '/$1|$6/{print $1}' /etc/shadow
3、查看谁有sudo授权执行权限(权限级别)
sudo -l
4、基础信息查看
who 查看当前登录用户(tty本地登陆 pts远程登录) w 查看系统信息,想知道某一时刻用户的行为 uptime 查看登陆多久、多少用户,负载
历史命令查询
1、root的历史命令
History
2、历史命令清除
history -c
但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。
入侵排查
进入用户目录下
cat .bash_history >> history.txt
以下目录是否存在恶意脚本
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
Tip:查看某个目录下的所有文件:more /etc/cron.daily/* (查看/etc/cron.daily/目录下的所有文件)
异常连接
1、netstat网络连接命令,查看可疑连接
netstat -antlp|more
!net
lsof -i:80 查看指定端口
netstat -anp|grep 158.x.x.x 从连接的IP来定位PID,如果是瞬时建立的才找不到
2、查看pid所对应的进程文件路径
运行
ls -l /proc/$PID/exe 比如:ls -l /proc/25430/exe
file /proc/$PID/exe($PID 为对应的pid 号)比如:file /proc/24530/exe
异常进程
使用ps命令,分析进程
ps aux | grep pid (pid表示要查询的关键字)
定时任务
1、查看定时任务
crontab -l 表面上查看定时任务
cat /etc/crontab 查看定时任务的文件里面是否存在定时任务
ls -al /var/spool/cron/*
cat /var/spool/cron/* 查看文件夹里面是否有其他定时任务的文件
ls -al /etc/cron.d/*
for u in \`cat /etc/passwd |cut -d ":" -f1\`;do crontab -l -u $u; done
2、删除定时任务
Crontab -r 表面删除定时任务
3、编辑定时任务
Crontab -e
定时任务解读:
前面5个星分别代表分-时-天-月-星期 后面跟命令
* * * * * command
*/15 * * * * command(表示每15分钟运行一次)
其他
1、结束进程
kill PID
kill -9 PID 彻底杀死进程
kill -KILL PID 强制杀死进程
2、查看进程
ps -a 列出的是当前控制终端启动的进程
ps -A 系统全部启动进程
ps auxf 查看父进程关联的子进程
pstree 查看进程树
3、查看ssh密钥
cat .ssh/authorized_keys 查看命令
/root/.ssh/authorized_keys ssh秘钥文件所在路径