我知道我们可以使用udev配置脚本为设备驱动程序分配权限以在root /组/用户模式下运行但我不确定如何运行在Android HAL中使用驱动程序在特定用户模式下运行的程序?我只能在/ dev / ttyOx上执行chmod 777后执行程序。
我在Android脚本中使用udev config看到了这样的蓝牙模块
chmod 0660 / dev / ttyO1 chown系统系统/ dev / ttyS0
我的问题是,如何使用特定驱动程序的程序可以在上述脚本中注册到特定组或用户权限(例如蓝牙),并且只使该特定程序使用设备驱动程序?
答案 0 :(得分:0)
免责声明::我不是Android程序员。我只使用Linux内核。
但我仍然相信,驱动程序只能由特权用户加载到内核中。超级用户/ root。
/dev/ttyO1
和/dev/ttyS0
仅为设备文件。这将由用户空间应用程序打开。因此可以设置这些设备文件的权限。
无法将特定驱动程序分配给特定组/用户。所有驱动程序都是LKM(可加载内核模块),即插入内核。
内核以特权模式运行。用户没有直接处理内核。它受空间限制(用户空间/内核空间)。
在脚本中,您可以检查当前用户并决定是否允许加载蓝牙驱动程序。