Bloquer le chargement de modules du noyau Linux

Désactiver le chargement automatique de modules de pilote du noyau Linux. Note que cette procédure n'empêche pas d'autres processus de requérir le chargement d'un module durant le démarrage ou lors du fonctionnement du système.

Attention :

  1. Comme on peut le lire dans le commentaire de l'en-tête de /etc/modprobe.d/blacklist.conf, y nommer des modules ...n'a pas d'effet sur le chargement automatique des modules par le noyau Linux. Cela signifie que pour mettre en liste noire un pilote, tel que ipv6, vous devez faire un fausse installation.

  2. Supprimez le fichier /etc/modprobe.conf s'il existe, dans la mesure où il prend le pas sur tout ce qui se trouve dans /etc/modprobe.d/* (sauf si vous avez ajouté include /etc/modprobe.d).

  3. Les modules listés dans le fichier /etc/initramfs-tools/modules ne sont pas désactivés par les listes noires, aussi, il faut d'abord les commenter.

Marche à suivre :

  1. Créez un fichier '/etc/modprobe.d/<nom du module>.conf' contenant 'blacklist <nom du module>'.

  2. Exécutez 'depmod -ae' en tant que superutilisateur

  3. Recréez votre fichier avec la commande 'update-initramfs -u'

Exemple :

root@host:/etc/modprobe.d# ls -altr
total 72
-rw-r--r--  1 root root   363 Sep 24 19:57 pnp-hotplug
-rw-r--r--  1 root root   284 Sep 24 19:57 display_class
drwxr-xr-x  2 root root    16 Oct 28 21:38 arch
lrwxrwxrwx  1 root root     9 Oct 28 21:38 arch-aliases -> arch/i386
-rw-r--r--  1 root root  1405 Oct 29 09:46 blacklist.conf
-rw-r--r--  1 root root    18 Oct 29 13:34 eth1394.conf
-rw-r--r--  1 root root    15 Oct 29 14:49 irda.conf
-rw-r--r--  1 root root    20 Oct 29 16:10 irtty_sir.conf
-rw-r--r--  1 root root    18 Oct 29 16:10 sir_dev.conf
-rw-r--r--  1 root root    19 Oct 29 16:10 nsc_ircc.conf
-rw-r--r--  1 root root  4360 Oct 29 16:21 aliases
drwxr-xr-x  3 root root  4096 Oct 29 16:24 .
-rw-r--r--  1 root root    15 Oct 29 16:24 ipv6.conf
drwxr-xr-x 47 root root 12288 Oct 29 16:25 ..
root@host:/etc/modprobe.d# cat eth1394.conf irda.conf irtty_sir.conf sir_dev.conf nsc_ircc.conf ipv6.conf
blacklist eth1394
blacklist irda
blacklist irtty_sir
blacklist sir_dev
blacklist nsc_ircc
blacklist ipv6

Addendum : Quelquefois vous devez désactiver plusieurs modules pour pouvoir retirer celui que vous voulez retirer : c'est le cas, par exemple, pour le module irda. Dans l'exemple ci-dessus irtty_sir, sir_dev et nsc_ircc doivent être désactivés pour pouvoir désactiver irda. Si vous soupçonnez quelque chose comme ça, exécutez lsmod pour trouver les modules qui utilisent le module que vous souhaitez désactiver.

Merci à xingu et liable sur l'irc #debian.

Inscrire en liste noire avec une fausse installation

Comme exemple, disons que vous souhaitez désactiver nomdemodule avec un fausse installation, vous devez :

  1. Créer un fichier appelé '/etc/modprobe.d/<modulename>.conf' contenant 'install <modulename> /bin/true'.

  2. Redémarrer.

Cette procédure empêche que le module soit chargé pendant le fonctionnement.


Et merci aussi à -- ?BrendaButler pour avoir suggéré le déplacement de 'Liste noire pour les modules du noyau Linux' qui ne fait pas partie de udev.


CategoryKernel CategorySystemAdministration