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.