dmesg sudo / user ; utilisation

Vos petites astuces, répertoire des tutoriels et astuces
Répondre
Avatar du membre
cyrille
modérateur
Messages : 9724
Enregistré le : mar. 19 sept. 2017 08:49
Localisation : Nowhere
Contact :

dmesg sudo / user ; utilisation

Message par cyrille »

La situation de base

Par défaut les logs du kernel ne sont accessibles qu'aux administrateurs de la machine, il faut donc soit passer par le compte root ou par sudo pour accéder à leur lecture, ce qui est confirmé par la sortie de cette commande :

Code : Tout sélectionner

# sysctl kernel.dmesg_restrict
 kernel.dmesg_restrict = 1
Et si un user veut y accéder :

Code : Tout sélectionner

$ dmesg
 dmesg: échec de lecture du tampon de noyau: Opération non permise
Une lecture par les users

Recommandé que sur des machines non sensibles, style PC personnels. Pas sur des serveurs.

Une lecture ponctuelle

La commande suivante permettra aux users de lancer la dmesg jusque au prochaine reboot de la machine.

Code : Tout sélectionner

# sysctl -w kernel.dmesg_restrict=0 
kernel.dmesg_restrict = 0
Si sudo

Code : Tout sélectionner

$ sudo sysctl -w kernel.dmesg_restrict=0 
kernel.dmesg_restrict = 0
Si entre temps, vous souhaitez ne plus laisser les logs du kernel à disposition des users,

Code : Tout sélectionner

# sysctl -w kernel.dmesg_restrict=1 
kernel.dmesg_restrict = 1
Si sudo

Code : Tout sélectionner

sudo sysctl -w kernel.dmesg_restrict=1 
kernel.dmesg_restrict = 1
Rendre cette lecture permanente

Si vous désirez rendre cette situation permanente, alors il suffit d'entrée cette valeur à /etc/sysctl.conf

Code : Tout sélectionner

# echo 'kernel.dmesg_restrict=1' |  tee -a /etc/sysctl.conf
Si sudo

Code : Tout sélectionner

$ echo 'kernel.dmesg_restrict=1' | sudo tee -a /etc/sysctl.conf

A savoir

La couleur
Si votre console vous sort des logs en noir et blanc, utiliser cette option

Code : Tout sélectionner

$ dmesg -H –color
Quels logs ?

Si vous ne souhaitez avoir que les logs du kernel

Code : Tout sélectionner

$ dmesg –-kernel
Que ceux de l'userspace

Code : Tout sélectionner

$ dmesg –-userspace

Plus d'infos

Code : Tout sélectionner

man dmesg
# apt install anarchism

Debian SID - FreeBSD - https://cbiot.fr -- https://framagit.org/CyrilleBiot -- Il est grand temps que l’anarchie remette de l’ordre dans le chaos ! (Karim B. -LV88) -- Audio

Avatar du membre
Mia88
Messages : 1242
Enregistré le : ven. 18 nov. 2016 08:42
Localisation : Lorraine

Re: dmesg sudo / user ; utilisation

Message par Mia88 »

Slt cyrille,

Pour info, je viens d'essayer, je peux lancer dmesg en user
Après vérification, la valeur est à zéro par défaut (upgrade récent mint 19.2 -> 19.3)
Peut-être spécifique à la version 20 ?

Code : Tout sélectionner

mia@PC5:~$ sysctl kernel.dmesg_restrict
kernel.dmesg_restrict = 0
mia@PC5:~$ 
Pour les commandes entières, il faut 2 tirets sinon ça ne veut pas :

Code : Tout sélectionner

mia@PC5:~$ dmesg -kernel
dmesg : arguments mutuellement exclusifs : --reltime --raw
mia@PC5:~$ 
C'est soit --kernel ou soit -k ;)

Pareil pour l'userspace, c'est --userspace ou -u :

Code : Tout sélectionner

mia@PC5:~$ dmesg -userspace
dmesg: argument de taille du tampon incorrect: 'erspace'
mia@PC5:~$ dmesg -userspace
Mint Cinnamon 20.3 64-bits / Intel Xeon CPU E3-1270 V2 3.5GHz x 4 / Ram 15.6 Go / CG NVIDIA GF106GL [Quaro 2000]

Répondre