nó de dispositivo Linux acessível a apenas determinados grupos de processos

StackOverflow https://stackoverflow.com/questions/1811246

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu tenho um módulo de driver de dispositivo que faz um register_chardev (). Na função de motorista open () Eu gostaria de ser capaz de determinar o PID ou PGID do processo que está a tentar abrir o nó do dispositivo. Isso é possível? Alguém tem alguma idéia de por onde começar?

Eu estou assumindo que este deve tanto proteger o meu nó de dispositivo para permitir apenas minhas aplicações para usá-lo, desde que você não pode migrar um processo para um novo grupo de processo a menos que estejam na mesma sessão.

Foi útil?

Solução

O kernel não é o lugar certo para fazer este tipo de decisão política - o lugar correto para definir as permissões sobre quem pode abrir o nó de dispositivo é definindo a propriedade habitual e permissões no arquivo nó de dispositivo no sistema de arquivos.

Se você realmente tem o seu conjunto coração nele, current->pid é o PID, current->tgid é o ID do grupo de linha e current->group_leader->pid é o PGID.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top