Linux常用应急溯源命令

嘿,兄弟,聊聊我之前干的那点事儿吧。
记得有一次,2 01 6 年,我在一个公司做网络安全,那会儿公司里的服务器被黑了,得赶紧溯源啊。
我就开始用Linux的命令行工具一顿操作。

先从账号入手,得先看看谁有权限,所以我用了这个命令:awk -F: '$3 ==0{print $1 }' /etc/passwd,这招儿挺管用,一下就筛选出了UID为0的用户,也就是超级用户,很快就发现了几个异常的账号。

然后,我又想看看有没有人能远程登录,又用了一个命令:awk '/$1 |$6 /' /etc/shadow,这回我发现了几个密码字段或登录Shell不为空的账号,这些账号就有可能被远程操控。

再往下,我得看看服务端口,用了netstat -tnlp,这命令一出,所有TCP监听端口和对应的进程都出来了,一眼就看到有几个服务端口不正常,赶紧排查。

日志是关键,我就去/var/log/secure找安全事件,然后用grep "Failed password for root"来定位爆破root账号的来源IP,这招儿挺实用,很快就找到了攻击者的IP地址。

定时任务也不能放过,我检查了/var/spool/cron/,/etc/crontab这些地方,看看有没有什么恶意脚本在后台运行。

文本处理也是必不可少的,比如用grep -C5 "error" log.txt来查找日志中的错误信息,这让我能快速定位问题所在。

最后,我还用find -mtime 0 -name ".php"来查找最近修改的PHP文件,这招儿挺管用,帮我发现了几个被篡改的文件。

这事儿处理完,我对Linux的命令行工具有了更深的认识,感觉这东西真是太强大了。
兄弟们,遇到类似的问题,也可以试试这些命令哦。

Linux 命令 | 常用命令 cut

这东西我天天用,但真让你细说,我得想想。
Cut啊,确实挺简单的,但用不好也容易踩坑。

就说前年我在北京搞那个服务器维护吧,监控日志看着密密麻麻的。
有个文件 /var/log/syslog 太大了,我想看某个服务的启动信息,但里面字段多,得挑出来。
这时候我就用 cut 了。

比如啊,我知道那个服务的启动状态在冒号分隔的第7 段,我就用 cut -d ':' -f 7 /var/log/syslog。
你看,-d 指定冒号是分隔符,-f 指定取第7 段。
当年我就用这个抓了它三个月的启动失败记录,最后定位是个配置文件少了个参数。

再比如啊,有时候字段前几个字节特别重要,比如日期。
那我就用 -b 参数。
记得有一次看 Apache 的错误日志,想看请求头的前5 个字节是什么,我就用 cut -b 1 -5 /var/log/apache2 /error.log。
结果发现有个客户头特别长,截断了,我就知道出问题在这头了。

但要注意啊,cut 对中文处理就不太行。
前年有个同事用 cut 处理中文用户名,结果乱码一片。
他就用 cut -c 1 -5 /etc/passwd,想取前五个字符,结果取出来一堆乱码。
后来才知道是编码问题,得用 iconv 先转编码再 cut。

所以你看,cut 这玩意儿,简单但得用对场景。
我一般就 -d 和 -f 搞定大部分需求。
记得去年在杭州帮个客户处理 CSV 文件,分隔符是逗号,就用 cut -d ',' -f 2 ,4 拿出第二列和第四列,那叫一个爽。

总结一下,cut 用多了顺手,但别瞎用,特别是处理中文文本时。
我敢说啊,中文这块儿我踩过坑,但具体怎么完美处理,我得回去翻翻笔记了,我不敢乱讲。

最常用到的Linux十大命令

哦对,ls命令,就是list,看文件啊,目录啊。
ls -a,所有文件都列出来,包括点开头的那些隐藏文件。
ls -l,详细点,文件大小,权限什么的都有。
cd命令,改目录,比如cd /home,就到home目录去了。
pwd,看现在在哪儿,当前目录路径。
mkdir,建文件夹,mkdir test,就在这儿建个test文件夹。
rm,删文件,rm file.txt,删个文件。
rm -r folder,删个文件夹,带子文件夹都删。
mv,移动文件,mv oldname newname,把oldname改名叫newname。
cp,复制文件,cp file1 file2 ,把file1 复制到file2 cat,看文件内容,cat file.txt,就在屏幕上显示。
tail,看文件最后几行,tail file.txt,看最后1 0行。
tail -f,追着看,文件有新内容就加进来。
vim,编辑文件,写代码用。