最近では、少なくともArch Linux(そして他のディストリビューションでも可能でしょうか?)1)、dmesg
必須sudo
、そうでなければ動作しません:
$ dmesg
dmesg: read kernel buffer failed: Operation not permitted
一方、journalctl
(from systemd
)は必須ではありませんsudo
。
journalctl
同じ情報のほとんど(すべてではなく)にアクセスできるため、これは奇妙に感じられますdmesg
。
なぜ1つは制限され、もう1つは制限されないのかを知っている人はいますか?私のインストールは非常に普通であり、カスタム変更sysctl
()などを適用していません。/etc/sysctl.d/
SEの外でも同様の問題が見つかりました。2しかし、答えはありませんでした。
ベストアンサー1
journalctl
アクセスは実際には次のグループのメンバーに制限されます。adm
, systemd-journal
, Fedora 33wheel
によるとman journalctl
、実際には
Hint: You are currently not seeing messages from other users and the system.
Users in groups 'adm', 'systemd-journal', 'wheel' can see all messages.
Pass -q to turn off this notice.
dmesg
sysctl変数によって制御されるアクセス権の場合、kernel.dmesg_restrict
少なくともFedoraはこの変数を0に設定します。これは、すべてのローカルユーザーがカーネルログを読み取ることができることを意味します。
IMO、アクセスを制限する理由はなく、dmesg
システムログにはシステムへの不正アクセスを許可できる情報を含めることができます。