ubuntuusers.de

Wie benutzt man udev-Rules für SysFS

Status: Gelöst | Ubuntu-Version: Ubuntu MATE 24.04 (Noble Numbat)
Antworten |

mickpf

Avatar von mickpf

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 50

Wohnort: Planet Earth

Hallo,

Im SysFS gibt es Einträge wie „/sys/devices/system/cpu/intel_uncore_frequency/package_00_die_00/current_freq_khz“, die ich mit einem eigenen Programm als „normaler“ Benutzer lesen möchte, die aber nur für den Benutzer „root“ lesbar sind.

Da es sich um ein virtuelles Dateisystem handelt, werden die Permissions nach jedem Neustart des Computers neu gesetzt.

Ich habe gelesen, dass es am besten ist, solche Dinge per udev-Rules in „/etc/udev/rules.d“ zu ändern.

Per Commando

1
udevadm info --query=all --attribute-walk --path=/sys/devices/system/cpu

habe ich festgestellt, dass nur ‚KERNEL==“cpu“‘ als Eingrenzung gesetzt ist und dass es das Attribute „ATTR{intel_uncore_frequency/package_00_die_00/current_freq_khz}“ gibt.

Ich bin mit dem Thema udev-Rules nur oberflächlich vertraut, weshalb ich es bisher nicht hingekriegt habe, die Dateiberechtigungen auf diese Weise zu setzen!

Kann mir jemand helfen, die udev-Rules so aufzusetzen, dass nach jedem Neustart die Berechtigungen für einen solchen Eintrag geändert werden?

Gruß Michael

dingsbums

Anmeldungsdatum:
13. November 2010

Beiträge: 3771

Mit udev-Regeln kann man Reaktionen auf Systemereignisse auslösen. Das trifft ja aber nach meinem Verständnis in deinem Szenario gar nicht zu, die neu zu berechtigenden Dateien dürften ja vom Systemstart an existieren.

Ich würde da einfach quick-and-dirty eine Zeile in die /etc/crontab setzen:

@reboot   root   chmod 644 /pfad/zur/datei     #  644 ergibt -rw-r--r-- , bei Bedarf anpassen 

Man kann dafür natürlich auch extra eine Service Unit schreiben, wenn man mag.

mickpf

(Themenstarter)
Avatar von mickpf

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 50

Wohnort: Planet Earth

Ein wirklich ausgezeichneter Vorschlag, an den ich gar nicht gedacht habe!

Vielen Dank

Antworten |