dmesg: okuma çekirdeği arabelleği başarısız oldu: İzin reddedildi


17

Son zamanlardan beri Debian için varsayılan davranışı değiştirdi ve dmesgbunu sadece yerel kullanıcımdan kullanamıyorum.

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

Aynı şey:

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

Bu hata izleyicide başrolde:

Bu davranışı, yerel kullanıcının dmesg kullanmasına izin verilen önceki davranışla nasıl değiştirebilirim? Bunun için belirli bir grup bulamadım (örn. Sudoers veya bunun gibi bir şey).

Yanıtlar:


22

Bu yüzden, hata raporundaki en son mesaja bakmak aslında önemsizdi:

Yukarıda belirtilen çekirdekteki değişiklik günlüğünün bir kısmı: * güvenlik, printk: Kök dışı kullanıcıların varsayılan olarak çekirdek günlüğünü okumasını önleyerek SECURITY_DMESG_RESTRICT özelliğini etkinleştirin (sysctl: kernel.dmesg_restrict)

Yani çözüm sadece bir kez çalıştırmaktır:

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

Ardından yerel kullanıcınız dmesgtekrar kullanmaya başlayabilir . Bu, başlangıçta varsaydığım bir grup yerine herhangi bir kullanıcı için geçerlidir.

Her şey istediğim şeye geri döndü:

% dmesg|wc
   1307   11745   93652

ve

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

Ve yeniden başlatmalar boyunca devam etmesini sağlamak için basitçe conf dosyası olarak kaydedin:

$ cat /etc/sysctl.d/10-local.conf 
kernel.dmesg_restrict = 0

Bu komutu yürütebilirsiniz: cat /dev/kmesgnormal kullanıcı olarak?
direprobs

/dev/kmsgBir yazım hatası olan ilk yorumda olmalıdır .
direprobs

Daha kolay ekleyerek bunu kalıcı hale getirmek kernel.dmesg_restrict = 0 için/etc/sysctl.conf
Knobee
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.