カーネルの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プロファイルに傾いています。
dmesg
に次の行が表示されるはずです。
[1933752.889994] Lockdown: bash: debugfs is restricted; see man kernel_lockdown.7
この場合、debugfs
はrootユーザーでも使用できません。
参考のため: