Linux设备节点仅可供某些进程组访问

时间:2009-11-28 01:28:32

标签: linux-kernel

我有一个设备驱动程序模块,它执行register_chardev()。在驱动程序open()函数中,我希望能够确定尝试打开设备节点的进程的pid或pgid。这可能吗?有没有人知道从哪里开始?

我假设这应该在一定程度上保护我的设备节点只允许我的应用程序使用它,因为除非它们在同一个会话中,否则无法将进程迁移到新的进程组。

1 个答案:

答案 0 :(得分:3)

内核不是制定此类策略决策的正确位置 - 设置谁可以打开设备节点的权限的正确位置是通过在文件系统中设置设备节点文件的常用所有权和权限。

如果真的有心,current->pid是PID,current->tgid是线程组ID,current->group_leader->pid是PGID。