В зависимости от языка Вы используете.
Для следующего проверки C/C++:
Для Java:
Для Python:
Весело провести время. Соя Python является, вероятно, самой простой запуститься с.
Да, можно записать правило udev.
В /etc/udev/rules.d
сделайте файл 30-mydevice.rules
(число должно быть от 0 до 99 и решает только о сценарии, выполняющем порядок; имя действительно не имеет значения, это должно только быть описательным; .rules
расширение требуется, хотя),
В этом примере я предполагаю, что Вашим устройством является базирующийся USB, и Вы знаете, что это - поставщик, и идентификатор продукта (может быть проверен с помощью lsusb -v
), и Вы используете mydevice
сгруппируйтесь Ваш пользователь должен быть в использовать устройство. Это должно быть содержанием файла в этом случае:
SUBSYSTEM=="usb", SYSFS{idVendor}=="0123", SYSFS{idProduct}=="4567", ACTION=="add", GROUP="mydevice", MODE="0664"
MODE
равняйтесь 0664, позволяет устройству быть записанным в, он - владелец (вероятно, корень) и определенная группа.
Один путь состоит в том, чтобы добавить пользователя к соответствующей "devivce-группе". Существует целый диапазон групп для различных видов устройств (диск, дискета, tty, видео, CD-ROM...) в соответствии с Linux, таким образом, можно добавить пользователя к соответствующей группе в/etc/group.
Иначе должен сделать "псевдопользователя" (например, игрового пользователя). Вы добавляете этого пользователя к группам устройств, которые это должно иметь. Наконец Вы изменяете владельца определенных программ (как программа для сканирования изображений) этому пользователю и устанавливаете "chmod u+s". Это заставит программу быть выполненной как псевдопользователь - не реальный пользователь, таким образом имея доступ к устройствам. Можно использовать группу программ для ограничения, какой пользователь может выполнить программу.
Наконец, можно установить группу программ, бывших нужных в определенном устройстве к группе устройств, и установить "chmod g+s". Это заставит программу работать с правами группы (кроме того, направо от обычного пользователя, выполняющего его), таким образом предоставляя расширенный доступ к устройству.
30
в имени файла? – Saeid Yazdani 25.09.2016, 11:10