Para evitar a bomba dos garfos, segui este http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm
ulimit -a
reflete as novas configurações, mas quando eu executo (como root
em bash
) :(){ :|:&};:
a VM continua com a CPU + RAM e o sistema congelam.
Como garantir que os usuários não derrubem o sistema usando fork-pumps ou executando um aplicativo de buggy?
SO: RHEL 6.4
root
por acaso? De qual shell você está tentando? (o espaço que falta depois{
sugere,zsh
mas também não posso reproduzi-lo).Respostas:
O superusuário ou qualquer processo com os recursos CAP_SYS_ADMIN ou CAP_SYS_RESOURCE não são afetados por essa limitação, isso não é algo que possa ser alterado.
root
sempre pode bifurcar processos.Se algum software não é confiável, ele não deve ser executado da mesma
root
maneira.fonte
Para tornar essa mudança generalizada, você precisará adicionar esses limites a todo o ambiente. Alterações usando o
ulimit
comando são apenas para o ambiente atual.NOTA: Isso não terá efeito no usuário root!
Exemplo
Edite este arquivo:
vi /etc/security/limits.conf
e adicione entradas ao arquivo, limitando o número de processos (nproc
) que um usuário ou grupo de usuários específico tem permissão.NOTA: Existem mais exemplos nesse arquivo. Cuidado ao usar o "todos" (também conhecido como
*
) . Isso também limitará as contas do sistema.Referências
fonte
pam_limits
.pam_limits
será substituída por uma vez que os cgroups tiverem uma adoção mais ampla.cgroups
daria a eles melhores botões para a utilização da rede e da CPU.