web-dev-qa-db-ja.com

modprobeが「操作は許可されていません」で失敗する

私は。。をしようとしています modprobe wireguard rootとして実行すると、次のエラーで失敗します。

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ログに何も表示されません。

ManページとGoogleを調べても何も起きていません。

私はこの役立つ行をdmesgで見つけました:

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

ただし、そのmanページは存在しません。

どうすればデバッグできますか?次にどこへ行くかについての指針はありますか?

4
Freedom_Ben

最後に何かが見つかりました。それは 「機能」のように見えます 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

4
Freedom_Ben

Fedora 31ディストリビューションはエコーを受け入れませんでした SysRq。 Arch Linux wikiの使用を提案 Alt+PrtSc+x (ラップトップでは、 Fn はキーボードの一部です)。ロックダウンが正常に無効化され、ワイヤガードが正常にロードされました。私はakmodをインストールしたので、代わりにmodprobeワイヤーガードが機能しました SysRq+x (redhatマニュアルには、物理​​的に接続されたキーボードで押す必要があると記載されています)。

0
igor

私は同様の問題を抱えていますが、modprobeから異なる詳細出力を取得します。

# modprobe -vvv wireguard
modprobe: INFO: custom logging function 0x55cf4e172a20 registered
insmod /lib/modules/5.3.11-300.fc31.x86_64/kernel/net/wireguard.ko.xz  
modprobe: INFO: Failed to insert module '/lib/modules/5.3.11-300.fc31.x86_64/kernel/net/wireguard.ko.xz': Operation not permitted
modprobe: ERROR: could not insert 'wireguard': Operation not permitted
modprobe: INFO: context 0x55cf4eb9b4c0 released

ワイヤーガードモジュールをロードする方法はありますか?私はそれを削除し、成功せずに再構築しました:

dkms remove -m wireguard -v 0.0.20191012 -k 5.3.11-300.fc31.x86_64
dkms install -m wireguard -v 0.0.20191012

どんな助けでも大歓迎です。

0
valentt