查看特定文件夹内的结构变化(当然包括文件增加,文件修改,文件减少),对于判断是否被植入木马有一定的帮助。

使用到的命令

find

eg:

find ./ -mtime 0     返回最近24小时内修改过的文件

find ./ -mtime 1    返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。

如何查找3天内的修改过的文件呢

find ./ -mtime 0 -o -mtime 1 -o -mtime 2  虽然比较土,但能实现需求

find ./ -ctime 0 -o -ctime 1 -o -ctime 2 -o -ctime 3 -o -ctime 4 | grep php

find ./ -ctime 0 -o -ctime 1 -o -ctime 2 -o -ctime 3 -o -ctime 4 | grep html

find ./ -user nobody -group nobody | grep html  查找特定用户名的html文件

find ./ -user nobody -group nobody | grep html >>’s.txt’  将查找到结果输出给s.txt文件

find ./ -user nobody -group nobody | grep php    查找特定用户名的php文件

find ./ | xargs grep ‘error_reporting’ 查找文件中包含‘error_reporting’的文件  此命令多用于查找木马文件

find ./ -name “*.php” | xargs grep “error_reporting”  查找一后缀是php的文件,并且文件中包含error_reporting字符串的文件列表

问题:查找以php为后缀的文件,并且文件中包含‘love’的文件列表

答案1:find ./ -name “*.php” | xargs grep “love”

答案2:grep -rnI love *.php

答案3:find ./ -type f -name “*.php” -exec grep -l “love” {} \;

find / -type f -name “*.txt” -exec grep -l “love” {} \;

/ 表示从/开始搜索。

-type f 表示搜索的对象是普通文件。

-name “*.txt” 表示同通配符查找后缀名为txt的文件。

-exec 表示excute选项,用来对搜索到的对象执行指定的命令。

grep -l “love” {} \; 就是exec参数指定的command,注意{}是表示搜索到的对象,后面的\;不能省略,这是命令的格式。

grep -l “love” 是过滤love,只显示包含love字符的文件的文件名,过滤的源就是{}里的当前的对象。

我说的有点乱七八糟,呵呵,兄弟见谅吧,:)

备注:

linux 文件的几种时间

atime 最后一次访问时间,访问时间,读一次这个文件的内容,这个时间就会更新

ctime 最后一次状态修改时间   如chmod chown等状态时间改变但修改时间不会改变

mtime 最后一次内容修改时间  对文件内容修改一次,这个时间就会更新 当修改时间发生改变时,atime和ctime也随着改变

另外linux下不会记录文件的创建时间。除非这个文件创建后就没有改变过,那么创建时间就等于最后一次修改时间

查看文件的详细的状态、准确的修改时间等,可以通过stat命令 文件名