dmesg, Berechtigung
-
- Beiträge: 3735
- Registriert: 24.12.2019 12:25:08
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: z.Z. Piazza Armerina
dmesg, Berechtigung
Wenn ich recht erinnere, dann konnte „früher“ jeder Benutzer das Kommando dmesg ausführen. Spätestens in bullseye stelle ich fest, dass das nicht mehr geht. Verantwortlich ist die Kern-Konfig: CONFIG_SECURITY_DMESG_RESTRICT=y - richtig? Seit wann ist das so? Ich machte das in meinem Heim-Netz gerne rückgängig. Dazu sehe ich zwei Möglichkeiten. Der etwas umständlichere Weg: Eigenen Kern (benutz' ich sowieso) neu kompilieren. Der einfachere: SETUID für dmesg. Dazu müsste ich wissen, wo im Dateisystem steckt das Kommando. Bei ersten Suchen bin ich nicht fündig geworden
Re: dmesg, Berechtigung
fischig hat geschrieben:27.11.2021 09:10:05Dazu müsste ich wissen, wo im Dateisystem steckt das Kommando. Bei ersten Suchen bin ich nicht fündig geworden
Code: Alles auswählen
ls -al /usr/bin|grep dmesg
-rwxr-xr-x 1 root root 84440 19. Okt 16:02 dmesg
und mit
Code: Alles auswählen
journalctl -b -k
-
- Beiträge: 3735
- Registriert: 24.12.2019 12:25:08
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: z.Z. Piazza Armerina
Re: dmesg, Berechtigung
Danke sehr! Das muss ich in /usr/bin übersehen haben. Vielleicht habe ich auch nur in /usr/sbin gesucht.
Kommando zurück! Bei mir (bullseye) steckt dmesg nicht in /usr/bin!
Aha! Fündig geworden. Bei mir steckt dmesg in /bin. Da war doch was, dass mit bullseye Pfade geändert worden sind.
Kommando zurück! Bei mir (bullseye) steckt dmesg nicht in /usr/bin!
Aha! Fündig geworden. Bei mir steckt dmesg in /bin. Da war doch was, dass mit bullseye Pfade geändert worden sind.
Re: dmesg, Berechtigung
Mag sein, aber nicht der von dmesg.fischig hat geschrieben:27.11.2021 09:37:46Bei mir steckt dmesg in /bin. Da war doch was, dass mit bullseye Pfade geändert worden sind.
Wo die ausführbaren Dateien liegen kannst du (je nach Zugriffsberechtigung als user/root) mit which abfragen:
Code: Alles auswählen
#$ which dmesg
Re: dmesg, Berechtigung
Code: Alles auswählen
ls -al /
[..]
lrwxrwxrwx 1 root root 7 17. Jul 2020 bin -> usr/bin
[...]
Code: Alles auswählen
~$ which dmesg
/usr/bin/dmesg
Re: dmesg, Berechtigung
setuid ginge mir dann doch etwas zu weit.fischig hat geschrieben:27.11.2021 09:10:05Dazu sehe ich zwei Möglichkeiten. Der etwas umständlichere Weg: Eigenen Kern (benutz' ich sowieso) neu kompilieren. Der einfachere: SETUID für dmesg.
Code: Alles auswählen
setcap cap_syslog=ep /usr/bin/dmesg
Re: dmesg, Berechtigung
Auch /usr/bin/dmesg? util-linux enpackt dmesg nach /bin/dmesg in buster, bullseye und bookworm:
https://packages.debian.org/buster/amd6 ... x/filelist
https://packages.debian.org/bullseye/am ... x/filelist
https://packages.debian.org/bookworm/am ... x/filelist
Edit: Auf die SymLinks bezogen:
https://wiki.debian.org/UsrMerge
Und was dmesg für den normalen Benutzer angeht, das ist seit mindestens stretch eingeschränkt. Kann man sich entledigen durch z.B.:
https://packages.debian.org/buster/amd6 ... x/filelist
https://packages.debian.org/bullseye/am ... x/filelist
https://packages.debian.org/bookworm/am ... x/filelist
Edit: Auf die SymLinks bezogen:
https://wiki.debian.org/UsrMerge
Und was dmesg für den normalen Benutzer angeht, das ist seit mindestens stretch eingeschränkt. Kann man sich entledigen durch z.B.:
Code: Alles auswählen
# printf "kernel.dmesg_restrict=0\n" >> /etc/sysctl.d/local.conf
Zuletzt geändert von tobo am 27.11.2021 18:47:27, insgesamt 2-mal geändert.
Re: dmesg, Berechtigung
[ sysctl kernel.dmesg_restrict ]fischig hat geschrieben: Wenn ich recht erinnere, dann konnte „früher“ jeder Benutzer das Kommando dmesg ausführen
Folgendes aus : In den Linux-Kernel- Dokumenten :
Dieser Schalter zeigt an, ob unprivilegierte Benutzer daran gehindert werden, dmesg(8) zu verwenden, um Nachrichten aus dem Protokollpuffer des Kernels anzuzeigen. Wenn dmesg_restrict auf (0) gesetzt ist, gibt es keine Einschränkungen. Wenn dmesg_restrict auf (1) gesetzt ist, müssen Benutzer CAP_SYSLOG haben, um dmesg(8) verwenden zu können. Die Kernel-Konfigurationsoption CONFIG_SECURITY_DMESG_RESTRICT setzt den Standardwert von dmesg_restrict.
Ich bin alleiniger Nutzer des PCs
bei mir Debian Sid gibt es in /etc die Datei sysctl.conf
Datei sysctl.conf vorher sichern!
Dort habe ich als letzte Zeile
Code: Alles auswählen
kernel.dmesg_restrict=0
privat@Mbox:~$ dmesg | head --lines 1
[ 0.000000] Linux version 5.15.0-1-amd64 (debian-kernel@lists.debian.org) (gcc-11 (Debian 11.2.0-12) 11.2.0, GNU ld (GNU Binutils for Debian) 2.37) #1 SMP Debian 5.15.3-1 (2021-11-18)
gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.
Uns rottet die soziale Kälte viel früher aus.
-
- Beiträge: 3735
- Registriert: 24.12.2019 12:25:08
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: z.Z. Piazza Armerina
Re: dmesg, Berechtigung
Danke für die vielen Tipps!
Ich habe MSfrees Methode benutzt.
Kann man sich diese Angabe de rmanpage für capabilities so erklären, dass syslog den Ringpuffer des Kerns liest und jetzt dem Nicht-Root erlaubt, mitzulesen?
Was jetzt genau „ep“ bedeutet, habe ich auch in der manpage zu setcap nicht gefunden.
Gibt es Überlegungen, warum dmesg bei mir unter /bin, bei willy aber unter /usr/bin liegt? Normalerweise installiere ich kein Debian neu, sondern aktualisiere die Version. Ich erinnere mich nicht, hier jemals etwas anderes gemacht zu haben und der Rechner läuft, seit er in meinem Besitz ist (geschätzt 2010-2012), mit Debian.
Ich habe MSfrees Methode benutzt.
Code: Alles auswählen
CAP_SYSLOG (since Linux 2.6.37)
* Perform privileged syslog(2) operations.
Code: Alles auswählen
setcap cap_syslog=ep /bin/dmesg
Was jetzt genau „ep“ bedeutet, habe ich auch in der manpage zu setcap nicht gefunden.
Gibt es Überlegungen, warum dmesg bei mir unter /bin, bei willy aber unter /usr/bin liegt? Normalerweise installiere ich kein Debian neu, sondern aktualisiere die Version. Ich erinnere mich nicht, hier jemals etwas anderes gemacht zu haben und der Rechner läuft, seit er in meinem Besitz ist (geschätzt 2010-2012), mit Debian.
- schorsch_76
- Beiträge: 2563
- Registriert: 06.11.2007 16:00:42
- Lizenz eigener Beiträge: MIT Lizenz
Re: dmesg, Berechtigung
Das ist der sog. usr merge. Neue Installationen haben das gleich so.
usrmerge
https://wiki.debian.org/UsrMerge
usrmerge
https://wiki.debian.org/UsrMerge
Re: dmesg, Berechtigung
In Ergänzung zu schorsch_76 gab es mal hier einen Thread:
viewtopic.php?t=172624&sid=bfa8a68e06d8 ... c49d48ad58
Artikel dazu:
https://www.pro-linux.de/news/1/26836/d ... u-usr.html
Irgendwann bei einer Installation hatte ich mal mit diesem usrmerge "gespielt. War aber bei
mir in Vergessenheit geraten, da der betreffende Rechner nicht mehr existiert, und inzwischen das Standard ist.
viewtopic.php?t=172624&sid=bfa8a68e06d8 ... c49d48ad58
Artikel dazu:
https://www.pro-linux.de/news/1/26836/d ... u-usr.html
Irgendwann bei einer Installation hatte ich mal mit diesem usrmerge "gespielt. War aber bei
mir in Vergessenheit geraten, da der betreffende Rechner nicht mehr existiert, und inzwischen das Standard ist.