私はLinuxに初めてアクセスし、カーネルモジュールのロードを完全に無効にするソリューションを探しています。
モジュールをアンロードする方法を知っていますが、起動時にロードする前にこれを防ぐ必要があります。
答え1
まず、モジュール名を確認してください。
lsmod | less
次に、ロードされたモジュール名がmy_proc_to_banであるとします。
次のスクリプトを書いてみてください。
echo'
install my_proc_to_ban /bin/false
' >> /etc/modprobe.d/blacklist.conf
これにより、モジュールが起動または実行されなくなります。
あるいは、あなたの場合と同様に、サーバーはあなたのものであり、誰もモジュールをロードしません。単に次のことができます。
echo '
blacklist my_proc_to_ban
' >> /etc/modprobe.d/my_proc_to_ban.conf
これにより、起動時にモジュールがロードされるのを防ぐことができますが、一部の手順では、必要に応じてロードできます。
答え2
1つの確実な方法は、/lib/modulesからモジュールを削除または移動することです。
/etc/modprobe.d/blacklist.confも使用できます。
カーネルのコマンドラインから次を追加できます。
modprobe.blacklist=modname1,modname2,modname3
または
blacklist=modname1,modname2,modname3
源泉:https://wiki.archlinux.org/index.php/kernel_modules#Blacklisting
使用しているディストリビューションに応じて:Debian(および派生ディストリビューション)は、スクリプトがシステム起動に必要と見なすモジュールを含むinitrdを構築できます。
そのため、「update-initramfs -u」を実行して initrd イメージを再構築する必要があるかもしれません。