Узел устройства Linux доступен только определенным группам процессов

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

  •  06-07-2019
  •  | 
  •  

Вопрос

У меня есть модуль драйвера устройства, который выполняет register_chardev (). В функции драйвера open () я хотел бы иметь возможность определить pid или pgid процесса, который пытается открыть узел устройства. Это возможно? У кого-нибудь есть идеи, с чего начать?

Я предполагаю, что это должно несколько обезопасить мой узел устройства, чтобы позволить моим приложениям использовать его, поскольку вы не можете перенести процесс в новую группу процессов, если они не находятся в одном сеансе.

Это было полезно?

Решение

Ядро не является подходящим местом для принятия такого рода политических решений - правильное место для установки разрешений на то, кто может открывать узел устройства, - это установка обычного владельца и разрешений для файла узла устройства в файловой системе.

Если у вас действительно настроено сердце, current-> gid; pid - это PID, current-> gt; - идентификатор группы потоков, а current-> group_leader-> gid; pid - это PGID.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top