![カーネルモジュールがロードされるのを防ぐ方法は? [閉鎖]](https://linux33.com/image/102646/%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%8C%E3%83%AD%E3%83%BC%E3%83%89%E3%81%95%E3%82%8C%E3%82%8B%E3%81%AE%E3%82%92%E9%98%B2%E3%81%90%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
私は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 イメージを再構築する必要があるかもしれません。