查看特定文件夹内的结构变化(当然包括文件增加,文件修改,文件减少),对于判断是否被植入木马有一定的帮助。
使用到的命令
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命令 文件名