Чтение системной информации (/sys/class/dmi/id) без sudo

Чтение системной информации (/sys/class/dmi/id) без sudo

Я пытаюсь получить уникальный идентификатор системы. Во время исследования я наткнулся на , system serial numberкоторый является именно тем, что мне нужно (также присутствует на корпусе компьютера). Серийный номер записан в файле, расположенном вsysfs: /sys/class/dmi/id/product_serial. Выполнение lsпоказывает, что файл защищен от чтения и принадлежит пользователю root:

-r-------- 1 root root 4096 Mai 29 16:00 product_serial

Поэтому я не могу писать в него (что прекрасно), а также не могу читать его, без sudoчего моя программа не может быть выполнена.

Если я изменю владельца этого файла на своего пользователя (который находится всудоgroup), то я могу прочитать его также с помощью моей программы без использования sudo. Но это перезаписывается при каждой перезагрузке.

Мой вопрос: можно ли прочитать этот файл (серийный номер) без использования sudo? Возможно, есть другой способ получить серийный номер, который я упускаю?

Возможно, есть udevправила, которые могли бы изменить владельца? Я видел, что они halсуществуют, и сделал именно то, что мне хотелось, но поддержка того, что отпало в пользу udev. Я также думал о том, чтобы считывать информацию при sudoзапуске системы и сохранять ее где-то еще, но таким образом файл затем можно было бы изменять... Также есть, dmidecodeно также потребности sudoв доступе к этому файлу..

Связанный контент