在linux中查找suid权限文件且文件大于1k小于50k并放入同一个文件夹
时间: 2024-10-11 20:15:20 浏览: 37
Linux基础课件文件权限设置chgrp命令共12页.pd
在Linux中,你可以使用`find`命令结合`grep`和`test`命令来查找具有SUID权限(Set User ID,允许程序以文件所有者的权限运行)并且大小在1KB到50KB之间的文件。假设你想将这些文件放在一个名为`suid_files`的新目录下,可以按照以下步骤操作:
```sh
# 创建目标文件夹,如果不存在的话
mkdir -p suid_files
# 使用find命令查找满足条件的文件
find /path/to/search -type f \( -perm +4000 \) -size +1k -size -50k \
| xargs grep '^S' | while read file; do
# 确保文件是SUID
if [ $(file -i "$file" | cut -d ' ' -f 2) = "application/x-executable" ]; then
cp "$file" suid_files/
fi
done
```
在这个脚本中:
- `find /path/to/search`: 替换为你想要搜索的目录路径。
- `-type f`: 搜索文件。
- `\(-perm +4000\)`:匹配SUID文件(SUID位设置为1的文件)。
- `-size +1k -size -50k`: 匹配大小在1KB至50KB的文件。
- `xargs grep '^S'`: 将找到的文件传递给grep检查是否以"S"开头(表示SUID标志)。
- `while read file; do ... done`: 遍历grep的结果,并复制符合条件的文件到`suid_files`目录。
注意:这个命令可能会复制一些非执行文件,如果你只想处理真正的可执行文件,可以在`if`语句里添加更严格的条件,比如使用`file -i "$file"`检查文件类型。
阅读全文