interagindo com módulos do kernel sem dar acesso aos usuários sudo? [fechadas]

0

Estou aprendendo como criar um módulo do kernel no userspace. Alguém sabe de algum módulo do kernel que possa ser controlado a partir do userspace?

Eu passei por / lib / modules, mas a maioria dos drivers requer acesso root e acesso a funcionalidades esotéricas, eu realmente não quero passar por todo o código-fonte. (por exemplo, eepoe).

Alguém sabe de algum driver de dispositivo do kernel do espaço do usuário?

    
por laycat 13.08.2017 / 10:43

2 respostas

2

A descrição "userspace kernel module" é uma contradição em termos: qualquer um é executado no userspace, ou é executado no kernel, mas não pode ser executado em nenhum dos dois, e você não pode executar módulos do kernel no userspace. / p>

Dito isso, é possível escrever drivers de dispositivo no espaço do usuário, fazendo uso de APIs de kernel bastante gerais (que são executadas no espaço do kernel, independentemente de serem módulos ou não) e implementando funcionalidade real do driver de dispositivo no espaço do usuário. Os drivers de dispositivo que usam libusb , spidev ou i2cdev são exemplos: eles usam uma biblioteca para acessar APIs de kernel conhecidas ou acessam as APIs diretamente, mas a lógica do driver de dispositivo é executada no espaço do usuário.

Outro exemplo semelhante é o fusível : usando APIs fixas do kernel, você pode implementar seu próprio sistema de arquivos no espaço do usuário.

Então, se você quiser exemplos, procure drivers de dispositivo usando essas APIs. Mas eles ainda serão exemplo de "drivers de dispositivo de espaço do usuário", não de "drivers de dispositivo do kernel do espaço do usuário", então não tenho certeza se é isso que você quer.

Se você quiser escrever algo que rode no espaço do kernel, você precisa aprender a escrever um módulo do kernel.

    
por 13.08.2017 / 12:26
1

Há uma resposta sobre a criação de arquivos em sysfs em stackoverflow . Eles são simples de manusear e devem ser acessíveis sem permissões de root por padrão.

    
por 13.08.2017 / 11:44