Un module chargeable est du code privilégié qui peut étendre le noyau actif avec un pilote, un système de fichiers, une fonction réseau ou un autre sous-système. Les modules évitent d'intégrer chaque fonction facultative dans une seule image du noyau, mais leur chargement agrandit la surface d'attaque de confiance.
Kernel · Leçon 6
Modules du noyau
Découvrez comment examiner, charger, configurer et retirer sans risque les modules propres à une version du noyau Linux.
Répertorier et examiner les modules
Affichez les modules actuellement chargés :
$ lsmod
La sortie provient d'un état du noyau comme /proc/modules et comprend le nom, la taille et un nombre d'utilisations ou des dépendances. Un nombre apparemment nul ne prouve pas que la suppression est sûre ; un pilote peut encore posséder des périphériques actifs ou participer à l'état d'un sous-système.
Examinez un module disponible pour le noyau actif avec :
$ modinfo NOM_DU_MODULE
modinfo peut afficher le nom du fichier, les alias, paramètres, la licence, la description et les informations de signature. Considérez ces métadonnées comme descriptives, pas comme une preuve de confiance ou de compatibilité avec la charge.
Qu'affiche lsmod ?
Charger avec `modprobe`
Chargez un module par son nom :
$ sudo modprobe NOM_DU_MODULE
modprobe consulte les index de dépendances, alias et configurations du noyau actif sous /lib/modules/$(uname -r)/. Il charge les dépendances requises et transmet les paramètres configurés. insmod insère au contraire un seul fichier de module indiqué directement sans offrir la même résolution des dépendances.
Avant le chargement, confirmez l'origine du module, la politique de signature, la compatibilité avec la version du noyau, les paramètres, l'association matérielle attendue et le retour arrière. Secure Boot ou le verrouillage du noyau peut rejeter les modules non signés ; forcer du code incompatible risque un plantage ou une compromission.
Pourquoi préfère-t-on normalement modprobe à l'emploi direct d'insmod ?
Paramètres des modules et chargement au démarrage
Les règles persistantes de paramètres et d'alias se placent dans un fichier .conf sous /etc/modprobe.d/ :
options example_module mode=careful
Cette ligne influence la manière dont modprobe charge le module ; elle ne demande pas à elle seule son chargement au démarrage. Une simple liste de modules à charger au démarrage se place couramment sous /etc/modules-load.d/ :
example_module
Les alias matériels déclenchent souvent un chargement automatique sans liste explicite. Pour les modules nécessaires pendant le démarrage précoce, mettez à jour l'initramfs selon la procédure documentée de la distribution après les changements de configuration.
Que fait une ligne options dans /etc/modprobe.d/ ?
Liste noire et limites
Une configuration modprobe peut contenir :
blacklist example_module
La liste noire supprime normalement le chargement automatique au moyen des alias du module. Elle ne décharge pas un module déjà actif, ne le retire pas d'un initramfs et n'empêche pas nécessairement un chargement explicite par son nom exact ou comme dépendance. Le renforcement de la sécurité exige une combinaison adaptée à la menace : disponibilité du module, application des signatures, contenu de l'initramfs, paramètres de démarrage et règles.
Que supprime principalement une ligne modprobe blacklist élémentaire ?
Retirer un module sans risque
Demandez son retrait avec :
$ sudo modprobe -r NOM_DU_MODULE
Modprobe peut retirer les dépendances désormais inutilisées lorsqu'il convient. Le noyau refuse l'opération lorsque le suivi ordinaire des références indique que le module est occupé, mais ne vous fiez pas à ce seul contrôle. Arrêtez les services, démontez les systèmes de fichiers, détachez les périphériques, mettez le réseau au repos et confirmez un autre pilote ou une voie de récupération avant de retirer le code qui prend en charge du matériel actif.
Ne forcez jamais le déchargement d'un module sur un système à préserver. Des bogues de retrait ou une activité encore en cours peuvent faire planter le noyau ou corrompre des données.
Quelle commande demande le retrait, tenant compte des dépendances, d'un module nommé ?
Utilisez Gérer les modules du noyau sous Linux pour vous exercer avec les modules désignés comme sûrs par le laboratoire.
Leçon terminée
Vous avez terminé Modules du noyau
Vous savez maintenant gérer les modules en respectant leur risque au niveau du noyau.
Employer
lsmodpour l'état réel etmodinfopour les métadonnées disponibles.Employer
modprobepour un chargement tenant compte des alias et dépendances.Distinguer les paramètres modprobe des demandes de chargement au démarrage.
Considérer la liste noire comme une règle limitée plutôt qu'un blocage absolu.
Mettre chaque consommateur au repos avant
modprobe -r.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit