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

Fre*_*Ben 9 modprobe linux-kernel

我正在尝试以modprobe wireguardroot 身份登录,但失败了:

modprobe: ERROR: could not insert 'wireguard': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

添加详细我又得到一行:

[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
Run Code Online (Sandbox Code Playgroud)

dkms 运行良好,没有错误。我也禁用了 selinux 并没有什么区别。我看不到任何东西journalctl日志。

查看手册页和谷歌没有发现任何东西。

我确实在以下内容中找到了这个有用的行dmesg

Lockdown: modprobe: Loading of unsigned module is restricted; see man kernel_lockdown.7
Run Code Online (Sandbox Code Playgroud)

但是,该手册页不存在。

我该如何调试?关于下一步去哪里的任何指示?

Fre*_*Ben 6

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

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

# echo 1 > /proc/sys/kernel/sysrq
# echo x > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)

然后modprobe应该工作:

modprobe wireguard
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅:

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

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

  • 不幸的是,现在这个技巧不再起作用了...... (3认同)