Linux-Kernel

modprobe 失敗並顯示“不允許操作”

  • December 12, 2021

我正在嘗試以modprobe wireguardroot 身份,但它失敗了:

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日誌中看不到任何內容。

瀏覽手冊頁和Google沒有發現任何問題。

我確實在以下位置找到了這條有用的線路dmesg

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

但是,該手冊頁不存在。

我該如何調試呢?關於下一步去哪裡的任何指示?

終於在上面找到了一些東西。這似乎是一個“功能”,當啟用 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

我的 Fedora 31 發行版不接受回顯到sysrq. Arch Linux wiki 建議使用Alt++ (在筆記型電腦上,其中是鍵盤的一部分)PrtSc。鎖定已成功禁用,WireGuard 已成功載入。我安裝了,所以對我來說是+的替代品。(紅帽手冊說它應該按在物理連接的鍵盤上。)x``Fn``akmod``modprobe wireguard``SysRq``x

引用自:https://unix.stackexchange.com/questions/543576