3.10. 防止在系统引导时自动载入内核模块
				您可以通过使用相应的命令在 modprobe 配置文件中列出模块,来防止系统在引导过程中自动载入内核模块。
			
先决条件
- 
						此流程中的命令需要 root 权限。使用 su -切换到 root 用户,或在命令前使用sudo。
- 
						kmod软件包已安装。
- 确定您当前的系统配置不需要您计划拒绝的内核模块。
流程
- 使用 - lsmod命令列出载入到当前运行的内核的模块:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在输出中,识别您要防止加载的模块。 - 或者,识别您要防止在 - /lib/modules/<KERNEL-VERSION>/kernel/<SUBSYSTEM>/目录中加载的而未加载的内核模块,例如:- ls /lib/modules/4.18.0-477.20.1.el8_8.x86_64/kernel/crypto/ - $ ls /lib/modules/4.18.0-477.20.1.el8_8.x86_64/kernel/crypto/ ansi_cprng.ko.xz chacha20poly1305.ko.xz md4.ko.xz serpent_generic.ko.xz anubis.ko.xz cmac.ko.xz…- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 创建一个配置文件作为 denylist : - touch /etc/modprobe.d/denylist.conf - # touch /etc/modprobe.d/denylist.conf- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在您选择的文本编辑器中,使用 - blacklist配置命令将您要从自动加载到内核中排除的模块的名称组合在一起,例如:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 因为 - blacklist命令不会阻止模块作为不在 denylist 中的另一个内核模块的依赖项加载,所以您还必须定义- install行。在这种情况下,系统运行- /bin/false,而不是安装模块。以哈希符号开头的行是注释,您可以用来使文件更易读。注意- 在输入内核模块的名称时,不要将 - .ko.xz扩展附加到名称的末尾。内核模块名称没有扩展名,它们对应的文件有。
- 在重建前,创建当前初始 RAM 磁盘镜像的一个备份副本: - cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img - # cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 或者,创建与您要阻止内核模块自动载入的内核版本对应的初始 RAM 磁盘镜像的一个备份副本: - cp /boot/initramfs-<VERSION>.img /boot/initramfs-<VERSION>.img.bak.$(date +%m-%d-%H%M%S) - # cp /boot/initramfs-<VERSION>.img /boot/initramfs-<VERSION>.img.bak.$(date +%m-%d-%H%M%S)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 生成一个新的初始 RAM 磁盘镜像以应用更改: - dracut -f -v - # dracut -f -v- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 如果您为与您系统当前使用的内核版本不同的系统构建初始 RAM 磁盘镜像,请指定目标 - initramfs和内核版本:- dracut -f -v /boot/initramfs-<TARGET-VERSION>.img <CORRESPONDING-TARGET-KERNEL-VERSION> - # dracut -f -v /boot/initramfs-<TARGET-VERSION>.img <CORRESPONDING-TARGET-KERNEL-VERSION>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 重启系统: - reboot - $ reboot- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
此流程中描述的更改将在重启后生效并保留。如果您在 denylist 中错误地列出了关键内核模块,您可以将系统切换到不稳定或无法正常工作的状态。