Page 1 sur 1

dmesg sudo / user ; utilisation

Posté : mer. 30 sept. 2020 17:42
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

Re: dmesg sudo / user ; utilisation

Posté : jeu. 1 oct. 2020 14:32
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