Pour éviter la bombe à la fourche, j'ai suivi ceci http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htm
ulimit -a
reflète les nouveaux paramètres, mais lorsque j'exécute (comme root
dans bash
), :(){ :|:&};:
la machine virtuelle continue de fonctionner avec un processeur + RAM maximum et le système se fige.
Comment s'assurer que les utilisateurs ne seront pas en train de faire tomber le système en utilisant des bombes à fourche ou en exécutant une application buggy?
OS: RHEL 6.4
root
par hasard? De quel shell essayez-vous? (l'espace manquant après{
suggèrezsh
mais je ne peux pas le reproduire là non plus).Réponses:
Le superutilisateur ou tout processus avec les capacités CAP_SYS_ADMIN ou CAP_SYS_RESOURCE ne sont pas affectés par cette limitation, ce n'est pas quelque chose qui peut être changé.
root
peut toujours bifurquer des processus.Si certains logiciels ne sont pas fiables, ils ne devraient pas fonctionner de
root
toute façon.la source
Pour que ce changement soit omniprésent, vous devrez ajouter ces limites à l'ensemble de l'environnement. Les modifications à l'aide de la
ulimit
commande concernent uniquement l'environnement actuel.REMARQUE: cela n'aura aucun effet sur l'utilisateur root!
Exemple
Modifiez ce fichier:
vi /etc/security/limits.conf
et ajoutez des entrées au fichier en limitant le nombre de processus (nproc
) qu'un utilisateur ou un groupe d'utilisateurs spécifique peut avoir.REMARQUE: il existe d'autres exemples dans ce fichier. Soyez prudent avec l'utilisation du "tout" (aka.
*
) Cela limitera également les comptes système.Les références
la source
pam_limits
.pam_limits
sera finalement remplacée par celle-ci une fois que les groupes de discussion auront une adoption plus large.cgroups
cela leur donnerait de meilleurs boutons pour l'utilisation du réseau et du processeur.