カーネルモジュールがロードされるのを防ぐ方法は? [閉鎖]

カーネルモジュールがロードされるのを防ぐ方法は? [閉鎖]

私は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 イメージを再構築する必要があるかもしれません。

関連情報