web-dev-qa-db-ja.com

動的デバッグ許可の問題(k5.0.0)

カーネルのdynamic_debug設定を読み取りまたは変更しようとすると、権限の問題が発生します。

root@roberto:/sys/kernel/debug/dynamic_debug# cat control
cat: control: Operation not permitted

これに関連するapparmor監査メッセージは表示されず、従来のUNIX権限は問題なく表示されます。

root@roberto:/sys/kernel/debug/dynamic_debug# ll
total 0
drwxr-xr-x  2 root root 0 Aug 29 21:23 ./
drwx------ 40 root root 0 Aug 29 21:23 ../
-rw-r--r--  1 root root 0 Aug 29 21:23 control

奇妙なACLはないようです。

root@roberto:/sys/kernel/debug/dynamic_debug# getfacl control 
# file: control
# owner: root
# group: root
user::rw-
group::r--
other::r--

私はLinux機能の専門家ではありませんが、capsh --printおよびcat /proc/<pid>/status両方とも、すべての機能が有効になっていることを意味するようです。

私はハードウェア有効化カーネルを備えたUbuntuサーバー18.04を実行しています。

cbaker@roberto:~$ uname -a
Linux roberto 5.0.0-25-generic #26~18.04.1-Ubuntu SMP Thu Aug 1 13:51:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

動的デバッグを個別に有効にするために、modprobe confファイルにdyndbgフラグを追加できます。期待どおりに結果がdmesgに表示されます。

Debugfsコントロールノードが失敗する原因となる可能性のあるアイデアはありますか?私はこれが、Ubuntuがカーネルに適用したカスタムパッチ、または監査メッセージを作成しない非表示/組み込みのapparmorプロファイルに傾いています。

2
Chris Baker

dmesgに次の行が表示されるはずです。

[1933752.889994] Lockdown: bash: debugfs is restricted; see man kernel_lockdown.7

この場合、debugfsはrootユーザーでも使用できません。

参考のため:

0
malat