「ジョブが許可されていません」のため、modprobeが失敗します。

「ジョブが許可されていません」のため、modprobeが失敗します。

modprobe wireguardrootでログインしようとしましたが失敗しました。

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

詳細を追加すると、1行がさらに表示されます。

[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ディストリビューションはechoを許可しませんsysrq。 Arch Linux Wikiでは、Alt++ PrtSc(キーボードの一部であるx ノートブック)を使用することをお勧めします。Fnロックが正常に無効になり、WireGuardが正常にロードされました。私はそれをインストールして+代替品akmodとしてmodprobe wireguard機能しました。 (Red Hatのマニュアルには物理的に接続されたキーボードで押す必要があるとされています。)SysRqx

答え3

「OSタイプ」BIOS設定をWindows UEFIから「その他OS」に変更し、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用のOSモジュールオーバーレイ(コンパイル済みモジュールではない)をロードすることです。また、セキュアブートは有効になっていません(mokutilでは、「EFI変数はこのシステムではサポートされていません」と言います)。

関連情報