dmesg: falha na leitura do buffer do kernel: Permissão negada

10

Desde então, o Debian mudou o comportamento padrão para dmesg e eu não posso usá-lo simplesmente do meu usuário local.

% dmesg
dmesg: read kernel buffer failed: Operation not permitted

O mesmo vale para:

% cat /dev/kmsg                      
cat: /dev/kmsg: Operation not permitted

Com base no bug tracker, isso leva a:

Como eu altero esse comportamento de volta para o anterior, onde o usuário local tem permissão para usar o dmesg. Não consegui encontrar um grupo específico para ele (por exemplo, sudoers ou algo parecido).

    
por malat 04.09.2017 / 07:43

1 resposta

13

Então, foi realmente trivial, olhando para a última mensagem do relatório de bug:

Part of the changelog from the aforementioned kernel: * security,printk: Enable SECURITY_DMESG_RESTRICT, preventing non-root users reading the kernel log by default (sysctl: kernel.dmesg_restrict)

Portanto, a solução é simplesmente executar uma vez:

% sudo sysctl kernel.dmesg_restrict=0
kernel.dmesg_restrict = 0

Em seguida, o usuário local pode começar a usar dmesg novamente. Isso se aplica a qualquer usuário, em vez de um grupo que assumi inicialmente.

Tudo está de volta ao que eu queria:

% dmesg|wc
   1307   11745   93652

e

% cat /dev/kmsg|head|wc
     10      82     857

E para que isso continue nas reinicializações, salve-o como arquivo conf:

$ cat /etc/sysctl.d/10-local.conf 
kernel.dmesg_restrict = 0
    
por 04.09.2017 / 07:45