いつの間にか以下のとおり sid で dmesg が user 権限で実行できないようになった.
% dmesg
dmesg: read kernel buffer failed: Operation not permitted
/usr/share/doc/linux-image-4.8.0-2-amd64/changelog.linux.gz
によるとCONFIG_SECURITY_DMESG_RESTRICT=y
が default になった模様.
* security,printk: Enable SECURITY_DMESG_RESTRICT, preventing non-root users
reading the kernel log by default (sysctl: kernel.dmesg_restrict)
少なからず困惑した人がいるようで https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842226 では純粋に bug として報告されていたり (そういう仕様になった,ということで終わり),https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=847198 では adm group の user は dmesg できるようにして欲しいというのが wishlist として挙げられていたりする(これは難しそう).
以下のどちらかをすれば user 権限で dmesg できるようになる.
% sudo sysctl kernel.dmesg_restrict=0
% sudo sh -c 'echo 0 > /proc/sys/kernel/dmesg_restrict'
起動時に有効にするには/etc/rc.conf
にそれっぽい command を書いておくか /etc/sysctl.conf
もしくは /etc/sysctl.d/local.conf
に以下を書いておく.
kernel.dmesg_restrict = 0
追記(2017/1/20)
jessie の backports の最新版 kernel linux-image-4.8.0-0.bpo.2-amd64 (4.8.15-2~bpo8+2) でも上記と同じ症状が発生する模様.