Linux Geräteknoten zugänglich nur bestimmte Prozessgruppen
-
06-07-2019 - |
Frage
ich ein Gerätetreibermodul haben, die eine register_chardev hat (). Im Treiber open () Funktion wünsche ich der Lage sein, die PID- oder pgid des Prozesses, um zu bestimmen, welche die Geräteknoten zu öffnen versucht. Ist das möglich? Hat jemand irgendwelche Ideen von dem, wo man anfangen soll?
ich dies unter der Annahme, etwas sollte mein Gerät Knoten nur sichern lassen meine Anwendungen, es zu benutzen, da Sie kein Prozess auf eine neue Prozessgruppe wandern können, wenn sie in der gleichen Sitzung sind.
Lösung
Der Kernel ist nicht der richtige Ort, um diese Art von Politik Entscheidung zu treffen - der richtigen Ort, um die Berechtigungen für setzen, die den Geräteknoten, indem die üblichen Eigentums- und Berechtigungen auf dem Geräteknoten Datei im Dateisystem öffnen.
Wenn Sie wirklich auf sie Ihr Herz gesetzt haben, current->pid
die PID ist, current->tgid
ist der Thread-Gruppe-ID und current->group_leader->pid
ist die PGID.