Depuis récemment, Debian a changé le comportement par défaut de dmesg
et je ne peux pas l'utiliser simplement depuis mon utilisateur local.
% dmesg
dmesg: read kernel buffer failed: Operation not permitted
De même pour:
% cat /dev/kmsg
cat: /dev/kmsg: Operation not permitted
Avec le suivi des bogues, cela conduit à:
Comment puis-je modifier ce comportement pour revenir au précédent, où l'utilisateur local est autorisé à utiliser dmesg. Je n'ai pas pu trouver un groupe particulier pour cela (par exemple. Sudoers ou quelque chose comme ça).
Donc, c'était en fait trivial, en regardant le tout dernier message du rapport de bogue:
Une partie du journal des modifications du noyau susmentionné: * security, printk: Enable SECURITY_DMESG_RESTRICT, empêchant les utilisateurs non root de lire le journal du noyau par défaut (sysctl: kernel.dmesg_restrict)
La solution consiste donc à exécuter une seule fois:
% Sudo sysctl kernel.dmesg_restrict=0
kernel.dmesg_restrict = 0
Votre utilisateur local peut alors recommencer à utiliser dmesg
. Cela s'applique à n'importe quel utilisateur, au lieu d'un groupe que j'ai initialement supposé.
Tout revient à ce que je voulais:
% dmesg|wc
1307 11745 93652
et
% cat /dev/kmsg|head|wc
10 82 857
Et pour qu'il persiste après les redémarrages, enregistrez-le simplement en tant que fichier conf:
$ cat /etc/sysctl.d/10-local.conf
kernel.dmesg_restrict = 0