Limite de tamanho de pilha diferente para usuários diferentes, como posso garantir que todos os usuários tenham o mesmo tamanho de pilha?

1

Eu tenho um servidor CentOS 6.4, quando eu executo ulimit -a como root eu recebo isso:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 92905
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 65536
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Quando eu executo ulimit -a do usuário do apache, recebo isso:

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 92905
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 32768
cpu time               (seconds, -t) unlimited
max user processes              (-u) 92905
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Como posso ter certeza de que todos os usuários têm o mesmo tamanho de pilha?

Editar:

[root@web3 ~]# tail /etc/security/limits.conf
#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4
*                -       stack           65536
apache       -   stack       65536
# End of file
[root@web3 ~]#

o tamanho da pilha do apache ainda é 32768, embora eu tenha alterado essa configuração em /etc/security/limits.conf e reiniciado o servidor.

    
por Itai Ganot 02.10.2013 / 16:12

3 respostas

0

Ok, eu encontrei a solução. Parece que está definido por padrão no arquivo /etc/init.d/httpd . Eu o alterei manualmente em cada servidor, reiniciei httpd e agora está configurado corretamente.

    
por 08.10.2013 / 13:56
0

Não tenho certeza de por que você gostaria de definir os mesmos limites para todos os usuários. Mas eu diria que uma localização ideal será / etc / profile ou / etc / bashrc.

    
por 02.10.2013 / 16:40
0

No CentOS 6.4, o diretório pessoal do usuário do apache é / var / www por padrão. Este também é o DocumentRoot do Apache. Como o shell do usuário do apache é / sbin / nologin, no entanto, descartar um arquivo de configuração do shell aqui não será muito útil.

Você pode definir os limites em /etc/security/limits.conf embora, por usuário ou por grupo, e isso permitirá que você alcance o resultado correto. Além disso, no limits.conf você pode definir limites rígidos e flexíveis, para uma configuração mais flexível.

    
por 02.10.2013 / 19:07