[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [shell-script] Comando do Além.
From: |
MrBiTs |
Subject: |
RE: [shell-script] Comando do Além. |
Date: |
Fri, 29 Apr 2005 11:44:52 -0300 |
/*
NÃO execute em uma máquina de produção, se não tiver certeza que ela está
configurada pra limitar processos por usuário.
Isso é um FORK BOMB.
Ele redefine o builtin "true", que tem o apelido ":", para uma função.
Pra ficar mais fácil de entender, troco o dois pontos para um bla
qualquer:
foo() {
foo | foo &
}
foo
Ele vai disparar a função, que chama a função recursivamente com um pipe
para ela mesma, em background. Ou seja, vai crescer exponencialmente até
estourar o limite de processos OU deixar a máquina inutilizável.
*/
É uma das coisas mais impressionantes que eu ja vi, pela simplicidade e
eficiencia.
Para limitar os processos por usuario, podemos criar um script userlimit.sh
e coloca-lo em /etc/profile.d/, com o seguinte conteudo:
if [ $UID -ge 500 ]
then
ulimit -t 300
ulimit -d 200000
ulimit -m 300000
ulimit -v 300000
Fi
Claro que os valores sao chutados e devem ser ajustados para cada caso, mas
isso limita o numero de processos por usuario, fazendo com que o fork bomb
seja menos efetivo.