Como o ulimit entra em vigor na hora?

4

Eu adicionei duas linhas em

/etc/security/limits.conf

myuser soft nofile 16384
myuser hard nofile 16384

... que não tem efeito:

su -
sysctl -p
su myuser
ulimit -n
1024

É importante que isso entre em vigor sem que o usuário tenha que fazer o login primeiro, ou seja, como root eu inicio um script em seu nome.

    
por recalcitrant 11.06.2012 / 14:18

4 respostas

2

Adicione isto ao /etc/security/limits.conf:

*               soft    nofile          16384
*               hard    nofile          16384

Adicione algo assim ao / etc / profile e aplique o sistema em todas as contas:

ulimit -n 16384

No entanto, para que ferramentas como ssh e su obedeçam o arquivo limits.conf, você precisa adicionar o seguinte aos arquivos pam.d correspondentes, se ainda não estiver lá, ou seja, su add to /etc/pam.d / su e para ssh adicionar ao /etc/pam.d/sshd:

session    required     /lib/security/pam_limits.so

Acredito que seu problema específico pode ser resolvido apenas com a edição pam.d acima para os arquivos apropriados.

    
por 14.06.2012 / 01:24
0

Você pode tentar estas linhas?

    • nofile 16384

E veja como funciona.

Existe alguma configuração nos usuários .bashrc ou outros arquivos.

    
por 11.06.2012 / 14:30
0

Se tudo mais falhar, seu script permitiria fazer como myuser o seguinte:

ulimit -SHn 16384
    
por 11.06.2012 / 14:34
0

Se as alterações em /etc/security/limits.conf parecerem não ter efeito, verifique se /etc/security/limits.d/ contém arquivos com configurações de limite que sobrepõem as suas.

Se você precisar substituir um limite configurado em um arquivo localizado em /etc/security/limits.d/, provavelmente é melhor criar seu próprio arquivo nesse diretório, com um nome que classifica alfanumericamente depois do existente Arquivo. O sistema lê os arquivos em ordem alfanumérica e, se houver várias configurações para o mesmo limite, as configurações posteriores substituirão as anteriores.

    
por 13.12.2012 / 12:43