Poisson de janvier
Niveau :
Résumé : |>o00c
Les poissons précédents n'étaient pas aussi méchant qu'un alias ls=shutdown ou un alias cd="rm -rf", mais ils étaient plutôt gênant.
Et comme c'est toujours l'occasion d'en apprendre un peu plus sur le système, voici les solutions qui résolvent le problème posé.
Pour la déconnexion impossible (while true; do bash; done) :
$ kill -9 $PPID
Pour la déconnexion obligatoire (echo "exit" >> ~/.bashrc) :
$ ssh localhost "/bin/sh" $ vi ~/.bashrc
Pour toutes les commandes à base d'alias et de .bashrc, une commande qui marche à tous les coups est soit de lancer un shell différent :
# shell différent $ /bin/sh $ /bin/tcsh # bash $ /bin/bash --norc
Pour le terminal qui ne répond plus (ctrl-s) :
ctrl-q
Pour le setxkbmap, il faut taper à l'aveugle :
$ setxkbmap fr # dans un terminal X $ loadkeys fr # en console
Pour le terminal cassé (echo -e "xE") :
$ echo -e "xF"
Pour la souris tueuse :
$ fg ctrl-c
Et enfin une action préventive pour la fork bomb. Pour faire court :
$ echo ulimit -u 256 >> ~/.bashrc
Pour faire propre et forcer la limitation pour tous les utilisateurs (géré par pam_limits.so) :
#/etc/security/limits.conf * soft nproc 256
La fork bomb de base s'arrête dès que la limite est atteinte. Mais il es possible de faire une fork bomb qui ne s'arrête pas.