Nodo de dispositivo Linux accesible solo para ciertos grupos de procesos

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

  •  06-07-2019
  •  | 
  •  

Pregunta

Tengo un módulo de controlador de dispositivo que hace un register_chardev (). En la función driver open () deseo poder determinar el pid o pgid del proceso que intenta abrir el nodo del dispositivo. es posible? ¿Alguien tiene alguna idea de por dónde empezar?

Supongo que esto debería proteger de alguna manera el nodo de mi dispositivo para permitir que mis aplicaciones lo usen, ya que no puede migrar un proceso a un nuevo grupo de procesos a menos que estén en la misma sesión.

¿Fue útil?

Solución

El kernel no es el lugar adecuado para tomar este tipo de decisión de política: el lugar correcto para establecer los permisos sobre quién puede abrir el nodo del dispositivo es establecer la propiedad y los permisos habituales en el archivo del nodo del dispositivo en el sistema de archivos.

Si realmente tiene su corazón puesto en él, current- > pid es el PID, current- > tgid es la identificación del grupo de hilos y current- > group_leader- > pid es el PGID.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top