2013-06-15 2 views
0

Я пишу модуль ядра. У меня есть утилита, предоставляемая персоналом курса, который запускается web2py в окнах браузера. Утилита пытается получить доступ к символьным устройствам в папке/dev, вызвав функцию open (утилита написана на python) и получает сообщение «разрешение отклонено».open() устройство в папке/dev

Я прочитал, что можно запустить браузер в качестве корня, но он лишен. Есть ли способ установить разрешения для устройств через код?

Или я должен сделать это вручную каждый раз, когда

+1

Изменит ли права на файл файла символьного устройства (с помощью chmod) исправить проблему? Или драйвер требует внутреннего доступа root? –

+1

Запуск вашего веб-браузера от имени root - плохая идея и не изменит права доступа к приложению web2py. – Secoe

ответ

2

Есть несколько способов установить разрешение:

1) имеет загрузочный скрипт (или скрипт, который загружает модуль) набор разрешений

2) напишите udev rule, который устанавливает владельца/разрешения при создании устройства. Автор модуля ядра может рассказать вам, как настроить правила udev.

Более безопасно использовать chown для установки владельца веб-пользователю, чем использовать chmod и открыть файл кому угодно.

+0

действительно решение, которое я принял, - использование функции chown. перед тем, как я запускаю приложение, я запускаю «скрипт» в режиме «litlle» - пару вызовов chown, которые устанавливают, что текущий пользователь является владельцем устройств. – user2488927