Razão para o software de segurança não varrer diretórios com mais de 10.000 recursos neles?

3

Temos um software de segurança no Linux que procura explorações em arquivos que existem nos diretórios do servidor (como, por exemplo, se os sites hackearem scripts carregados para eles). O padrão é um limite de 10.000 recursos por diretório, caso contrário, ele não verificará os arquivos nesse diretório, mas permitirá defini-lo como ilimitado, se desejado.

Eu estava pensando em aumentar o limite, mas queria saber se há algo sobre o Linux e muitos arquivos em um diretório que causam algum tipo de lentidão não-linear ou algum outro motivo para limitação. Como seria a digitalização de um diretório com 50.000 arquivos demorar exponencialmente mais do que a varredura de 500 diretórios de 100 arquivos cada ou algum outro motivo?

EDIT: aqui estão alguns benchmarks em resposta aos comentários

### 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
    
por sa289 14.01.2016 / 20:06

0 respostas