In some situation, you may want to avoid loading a Linux driver module automatically. For example:
- You would like to use proprietary device driver (I am against any proprietary drivers) and not the inbuilt (reverse engineered) kernel, driver.
- You might want to block it loading the driver for security reasons. If your server system connected without a diskette / floppy drive; kernel will try to load floppy driver – disable floppy driver or module. Or just disable USB driver loading on Linux.
- In some cases buggy driver causes kernel BUG on load so you just want to avoid the problem.
The Linux kernel get module information from /etc/modprobe.conf file and /etc/modprobe.d/* file(s).
If you are using CentOS/Redhat/RHEL/Fedora Linux…
Just open your /etc/modprobe.conf OR /etc/modprobe.d/blacklist.conf file and turn of auto loading using following syntax:
alias driver-name off
If you are using Debian / Ubuntu Linux…
open /etc/modprobe.d/blacklist.conf file and add drivername using following syntax:
Reboot your Linux box and use lsmod command to show the status of modules in the Linux Kernel:
Say hello to kernel.modules_disabled kernel variable
You can place restrictions on module loading. When the following set to 1, unprivileged users cannot trigger the automatic loading of modules for security reasons:
# sysctl -w kernel.modules_disabled=1
You can add above to /etc/sysctl.d/99-custom.conf:
# echo 'kernel.modules_disabled=1' >> /etc/sysctl.d/99-custom.conf