modprobe 失败并显示“不允许操作”

modprobe 失败并显示“不允许操作”

我尝试modprobe wireguard以 root 身份登录,但失败了:

modprobe: ERROR: could not insert 'wireguard': Operation not permitted

添加详细信息后,我又得到一行:

[root@localhost ben]# insmod /lib/modules/5.2.11-100.fc29.x86_64/extra/wireguard.ko.xz
insmod: ERROR: could not insert module /lib/modules/5.2.11-100.fc29.x86_64/extra/wireguard.ko.xz: Operation not permitted

dkms 运行良好,没有错误。我还禁用了 selinux,但这没有什么区别。我在日志中没有看到任何内容journalctl

浏览手册页和谷歌没有发现任何结果。

我确实在以下位置找到了这条有用的线dmesg

Lockdown: modprobe: Loading of unsigned module is restricted; see man kernel_lockdown.7

但是该手册页不存在。

我该如何调试这个?有关下一步该去哪里的任何指示吗?

答案1

终于在上面找到了一些东西。它似乎是一个“功能”当启用 UEFI 安全启动(确实如此)时,未签名的代码无法加载到内核中。

要加载模块,请通过 sys-rq 禁用内核锁定:

# echo 1 > /proc/sys/kernel/sysrq
# echo x > /proc/sysrq-trigger

然后modprobe应该工作:

modprobe wireguard

有关更多信息,请参阅:

https://mjg59.dreamwidth.org/50577.html

https://bugzilla.redhat.com/show_bug.cgi?id=1599197

答案2

我的 Fedora 31 发行版不接受回显sysrq. Arch Linux wiki 建议使用Alt++ PrtScx 在笔记本电脑上,其中Fn是键盘的一部分)。锁定已成功禁用,并且 WireGuard 已成功加载。我安装了akmod,所以modprobe wireguard为我工作作为SysRq+ 的替代品x。 (红帽手册说应该在物理连接的键盘上按下。)

答案3

我通过将“操作系统类型”BIOS 设置从 Windows UEFI 更改为“其他操作系统”,在带有 AMI BIOS 的 Asus ProArt B550 Creator 上运行。不需要神奇的 SysRq。

https://www.techpowerup.com/review/asus-proart-b550-creator/images/bios_55-copy.jpg

答案4

我的问题是加载 Centos 7.x 的操作系统模块覆盖层(不是编译模块),通常已签名......加上安全启动未启用(mokutil 说“此系统不支持 EFI 变量”)。

相关内容