我正在尝试以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
但是,该手册页不存在。
我该如何调试呢?关于下一步去哪里的任何指示?
终于在上面找到了一些东西。这似乎是一个“功能”,当启用 UEFI 安全启动(确实如此)时,无法将未签名的代码加载到内核中。
要加载模块,请通过 sys-rq 禁用内核锁定:
然后
modprobe
应该工作:有关更多信息,请参阅:
https://mjg59.dreamwidth.org/50577.html
https://bugzilla.redhat.com/show_bug.cgi?id=1599197
我的 Fedora 31 发行版不接受回显到
sysrq
. Arch Linux wiki 建议使用Alt++ (在笔记本电脑上,其中是键盘的一部分)PrtSc。锁定已成功禁用,WireGuard 已成功加载。我安装了,所以对我来说是+的替代品。(红帽手册说它应该按在物理连接的键盘上。)xFnakmod
modprobe wireguard
SysRqx我的问题是加载 Centos 7.x 的 os 模块覆盖(未编译模块),通常已签名...加上未启用安全启动(mokutil 说“此系统不支持 EFI 变量”)。
也许长期最好的方法是签署你的模块。
对于 Debian 及其衍生产品,请参阅:
https://wiki.debian.org/SecureBoot#MOK__-_Machine_Owner_Key