[devel] udevless информация о блочных устройствах
Leonid Krivoshein
klark.devel на gmail.com
Вс Июн 16 00:40:46 MSK 2019
Сам же себе и отвечу:
15.06.2019 19:53, Leonid Krivoshein пишет:
> [...] Раньше я так и делал, получая часть информации через sysfs, а
> другую часть -- через blkid, blockdev, итп, на что требуется root.
> Поэтому и озадачился сабжем. Хотелось бы написать основной код,
> работающий без рутовых привилегий. Но вопрос в том, возможно ли это на
> системах без udev.
>
Никто эти файлы напрямую не парсит. В сишном коде используются:
1) libudev (при HAVE_LIBUDEV), в основном:
udev_device_new_from_subsystem_sysname() и udev_device_get_property_value(),
2) а в качестве fallback -- libblkid, в основном:
blkid_new_probe_from_filename() и blkid_probe_lookup_value().
При этом, для второго варианта сначала проверяется: getuid() == 0.
Для меня это значит два варианта решения: забить на тех, "кто ходит без
костылей" (не использует udev), ибо их единицы, либо написать для них
такой код, который будет выполняться с привилегиями root.
--
Best regards,
Leonid Krivoshein.
Подробная информация о списке рассылки Devel