Linux-Kernel
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
日誌中看不到任何內容。瀏覽手冊頁和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
有關更多資訊,請參閱:
我的 Fedora 31 發行版不接受回顯到
sysrq
. Arch Linux wiki 建議使用Alt
++ (在筆記型電腦上,其中是鍵盤的一部分)PrtSc
。鎖定已成功禁用,WireGuard 已成功載入。我安裝了,所以對我來說是+的替代品。(紅帽手冊說它應該按在物理連接的鍵盤上。)x``Fn``akmod``modprobe wireguard``SysRq``x