![limites.conf ulimits não sendo aplicados a processos chroot](https://rvso.com/image/1302453/limites.conf%20ulimits%20n%C3%A3o%20sendo%20aplicados%20a%20processos%20chroot.png)
Permitimos que os usuários executem scripts em nossos servidores. Nosso modelo de segurança envolve fazer o chroot deles. Queremos poder aplicar-lhes restrições ulimit, e a melhor maneira de o fazer parece ser/etc/security/limits.conf
Mas, não parece funcionar. Aqui está o que definimos limits.conf
:
@registered_users - priority 7
@registered_users - nice 7
* - priority 9
* - nice 9
E funciona em alguns casos:
sudo -u testuser python
Dará um processo python com gentileza 9 (não 7, irritantemente)
MAS
sudo chroot --userspec=testuser:registered_users python
fornece um processo python com gentileza 0.
alguma pista?
Tentamos adicionar session required pam_limits.so
, /etc/pam.d/common-session
sem sucesso.
Responder1
As configurações em /etc/security/limits.conf não estão funcionando dentro do chroot porque não há nenhum programa usando pam_limits para defini-las. Eles funcionam quando você usa o sudo, porque a configuração do PAM do sudo chama pam_limits.
A resposta óbvia é chamar algo dentro do chroot que use pam_limits, como "su", como dizem aqui:https://lists.debian.org/debian-user/2010/09/msg01398.html(embora você precise descomentar a linha que usa pam_limits em /etc/pam.d/su, porque ela vem comentada por padrão).
Ou seja, supondo que seu diretório chroot seja /srv/chroot e você queira executar /usr/bin/python, você pode tentar algo assim:
sudo chroot /srv/chroot su testuser /usr/bin/python
Acho que sudo também resolverá o problema:
sudo chroot /srv/chroot sudo -u testuser /usr/bin/python
Mas só posso falar por “su”, que é o que uso num caso como este. Por favor, experimente e diga se funcionou para você.