为什么安全软件不扫描资源超过10000个的目录?

为什么安全软件不扫描资源超过10000个的目录?

我们在 Linux 上有一个安全软件,它可以扫描服务器目录中存在的文件中的漏洞(例如网站是否上传了黑客脚本)。默认情况下,每个目录的资源限制为 10,000 个,否则它不会扫描该目录中的文件,但如果需要,它允许将其设置为无限制。

我正在考虑增加限制,但想知道 Linux 和目录中是否有大量文件会导致某种非线性减速或其他限制原因。就像扫描一个包含 50,000 个文件的目录会比扫描每个包含 100 个文件的 500 个目录花费指数级的时间,还是其他原因?

编辑:这里有一些针对评论的基准

### directory with 50,000 test files ###

# time for file in *; do echo test > $file; done
real    0m3.432s  
user    0m1.128s 
sys     0m2.303s     

# time for file in *; do  a=$(head -1 $file); done
real    1m1.338s
user    0m5.878s
sys     0m22.885s


### directory with 500 test files ###

# time for i in {1..100}; do ( for file in *; do echo test > $file; done ) ; done 
real    0m4.150s 
user    0m1.309s 
sys     0m2.801s

# time for i in {1..100}; do ( for file in *; do a=$(head -1 $file); done ) ; done
real    0m58.278s
user    0m3.558s
sys     0m18.554s

相关内容