These days, at least in Arch Linux (probably true for other distros too? 1), dmesg needs sudo, otherwise it doesn't work:
$ dmesg
dmesg: read kernel buffer failed: Operation not permitted
On the other hand, journalctl (from systemd) doesn't need sudo.
It feels odd because journalctl can access much of the same information (if not all) of dmesg.
Does anyone know why one is restricted but the other isn't? My installation is pretty vanilla, and I haven't made any custom changes to sysctl (/etc/sysctl.d/) and alike.
I've found a similar question outside of SE2 however it doesn't have any replies.
journalctlclearly isn't a free-for-all, it's restricted too. Are you in one of those groups? – muru Jun 10 '21 at 06:31journalctlhints in my Stack Exchange profile, click on my userid below this comment. – waltinator Jun 10 '21 at 06:47ls -l $(type -p journalctl). Is it setuid?man ls stat. – waltinator Jun 10 '21 at 06:49systemd-journalgroup would seem to be a requirement for system (or application) managers.journalctlis the new way of slicing and dicing log files. – waltinator Jun 10 '21 at 06:55