find基础命令与提权教程
find命令用来在指定目录下查找文件,若不指定目录则视为当前目录
- find常用参数
语法:find [path…] [expression]
path为查找路径,
.为当前路径,/为根目录expression即为参数
-name: 按文件名查找文件
-perm: 按照文件权限来查找文件,4000,2000,1000为分别表示SUID,SGID,SBIT,如777为普通文件的最高权限,7000为特殊文件的最高权限
-user: 按照文件属主来查找
-size n: 文件大小是n个单位
-type:
- d:目录
- f:文件
- c:字符设备文件
- b:块设备文件
-atime n: time表示日期,时间单位是day,查找系统最后
n*24小时内曾被存取过的文件或目录-amin n: 查找系统最后
n分钟内曾被存取过的文件或目录-ctime n: 查找系统中最后
n*24小时内曾被改变文件状态(权限、所属组、位置…)的文件或目录-cmin n: 查找系统中最后
N分钟内曾被改变文件状态(权限、所属组、位置…)的文件或目录-mtime: 查找系统中最后
N分钟内曾被更改过的文件或目录-mmin n: 查找系统中最后
n*24小时内曾被更改过的文件或目录-print: 将匹配的文件输出到标准输出
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格。
- find实例
1.在当前目录下查找文件名以txt为后缀的文件
find -name '*.txt'

2.在root目录下查找大于50m小于100m的文件
find / -size +50M -size -100M -type f

3.查找在10分钟内读取过的文件
find / -amin 10 -type f

4.查找权限为777的文件或目录并排序
find -perm -777 -type f |sort

5.查找当前目录下所有.txt文件并把他们拼接起来写入到all.txt文件中
find . -type f -name "*.txt" -exec cat {} \;> all.txt

6.因为单行命令中-exec参数中无法使用多个命令,以下方法可以实现在-exec之后接受多条命令
find '1.txt' -exec ./text.sh {} \;
text.sh内容

命令结果

- find命令提权
1.使用find命令查看拥有suid权限的文件
find / -perm -u=s -type f 2>/dev/null

2.使用exec查看当前用户
find text -exec "whoami" \;
text必须是可以找到的文件名,不然会出错,可以看到是root权限,如果这里显示的不是可以接着看下一步
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dhsnk9w4-1588155429520)(upload%5Cimage-20200429181002364.png)]](https://i-blog.csdnimg.cn/blog_migrate/1e41ad33929f0a968fd1a5eea99c25d5.png)
3.使用find命令来提权
find text.sh -exec "/bin/sh" \;

本文详细介绍了find命令的基础用法及高级参数,包括按文件名、权限、大小、类型和时间等条件查找文件,并提供了实用的示例。此外,还讲解了如何利用find命令进行提权操作。
2226

被折叠的 条评论
为什么被折叠?



