O controle de limite de processos por usuário no Linux é fundamental para manter a estabilidade e a segurança em ambientes de hospedagem, VPS ou servidor dedicado. Ao limitar o número de processos que cada usuário pode abrir, você evita que aplicações mal configuradas ou ataques causem sobrecarga e travamentos no sistema.
Por que limitar processos por usuário?
Em servidores multiusuário, como ambientes de hospedagem compartilhada, VPS ou servidores dedicados com múltiplas aplicações, um único usuário pode consumir todos os recursos do sistema ao abrir muitos processos. Isso pode causar lentidão, falhas e até indisponibilidade do serviço.
- Prevenção de abusos: evita que scripts ou aplicações causem DoS (Denial of Service) local.
- Estabilidade: mantém o servidor responsivo mesmo em caso de falhas de software.
- Segurança: limita o impacto de ataques ou bugs que gerem processos em excesso.
Pré-requisitos
- Acesso root ao servidor Linux (Ubuntu 22.04, CentOS 7/8, Debian 11 ou equivalente).
- Editor de texto no terminal (nano, vim ou similar).
- Backup dos arquivos
/etc/security/limits.confe/etc/pam.d/common-session(Debian/Ubuntu) ou/etc/pam.d/system-auth(CentOS).
Atenção: Antes de alterar limites do sistema, faça backup dos arquivos de configuração e teste as mudanças em ambiente controlado para evitar bloqueios acidentais.
Como funciona o limite de processos no Linux
O Linux utiliza o arquivo /etc/security/limits.conf para definir limites de recursos por usuário ou grupo. O parâmetro nproc controla o número máximo de processos que um usuário pode abrir simultaneamente.
Configurando o limite de processos por usuário
- Abra o arquivo de configuração:
sudo nano /etc/security/limits.conf - Adicione ou edite as linhas para o usuário ou grupo desejado:
# Limitar para o usuário "usuarioexemplo" usuarioexemplo hard nproc 100 usuarioexemplo soft nproc 90 # Limitar para todos os usuários comuns * hard nproc 200 * soft nproc 180- hard: limite máximo absoluto.
- soft: limite padrão que pode ser temporariamente elevado até o hard.
- Salve e feche o arquivo.
Ativando o controle de limites via PAM
Para garantir que os limites sejam aplicados em sessões de login, verifique se o módulo pam_limits.so está habilitado.
- Debian/Ubuntu: edite
/etc/pam.d/common-sessione/etc/pam.d/common-session-noninteractive. - CentOS/RHEL: edite
/etc/pam.d/system-authe/etc/pam.d/password-auth.
# Adicione (se não existir):
session required pam_limits.so
Salve e feche o arquivo. Reinicie a sessão SSH ou faça logout/login para aplicar.
Verificando o limite de processos atual
Para checar o limite de processos do usuário atual, use:
ulimit -u
Para um usuário específico, execute:
sudo su - usuarioexemplo
ulimit -u
Aplicando limites a grupos de usuários
É possível definir limites para grupos, útil em ambientes de hospedagem multiusuário:
@desenvolvedores hard nproc 120
@hospedagem hard nproc 80
O símbolo @ indica grupo.
Automatizando limites para novos usuários
Para que novos usuários já recebam limites personalizados, configure o arquivo /etc/adduser.conf (Debian/Ubuntu) ou scripts de provisionamento conforme sua distribuição.
Problemas comuns
- Sintoma: Usuário não consegue abrir novos processos.
Causa: Limitenprocmuito baixo.
Solução: Revise/etc/security/limits.confe aumente o valor conforme a necessidade da aplicação. - Sintoma: Limites não são aplicados após login.
Causa: Módulopam_limits.sonão habilitado.
Solução: Confirme a presença da linhasession required pam_limits.sonos arquivos PAM. - Sintoma: Aplicações web ignoram limites.
Causa: Serviços rodando como systemd ou via outros mecanismos.
Solução: Defina limites também nos arquivos de serviço do systemd (LimitNPROC=).
Resumo
- Limitar processos por usuário protege o servidor contra abusos e falhas.
- Configuração é feita em
/etc/security/limits.confe validada pelo PAM. - Verifique e ajuste limites conforme o perfil de uso de cada aplicação ou usuário.
Precisa de ajuda com controle de limites no seu servidor?
Conte com a AviraHost para manter seu ambiente Linux estável e seguro, com suporte especializado para VPS e servidores dedicados.