Nœud de périphérique Linux accessible uniquement à certains groupes de processus

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

  •  06-07-2019
  •  | 
  •  

Question

J'ai un module de pilote de périphérique qui effectue un register_chardev (). Dans la fonction open () du pilote, je souhaite pouvoir déterminer le pid ou le pgid du processus qui tente d'ouvrir le nœud de périphérique. Est-ce possible? Quelqu'un at-il une idée de l'endroit où commencer?

Je suppose que cela devrait quelque peu sécuriser mon nœud de périphérique afin d'autoriser uniquement mes applications à l'utiliser, car vous ne pouvez pas migrer un processus vers un nouveau groupe de processus à moins qu'ils ne soient dans la même session.

Était-ce utile?

La solution

Le noyau n'est pas le bon endroit pour prendre ce type de décision de politique. Le bon endroit pour définir les autorisations permettant d'ouvrir le nœud de périphérique consiste à définir les droits de propriété et les autorisations habituels sur le fichier du nœud de périphérique dans le système de fichiers.

Si votre coeur est vraiment réglé dessus, current- > pid est le PID, current- > tgid est l'identifiant du groupe de threads et current- > group_leader- > pid est le PGID.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top